0

我正在使用 python 海报库尝试将包含图像的表单上传到 servlet。在本地,它运行良好,但是当我部署到应用引擎时,它不会将其识别为多部分内容。

ServletFileUpload.isMultipartContent(request) 返回 false

这是我使用海报库的方式:

register_openers()
datagen, headers = multipart_encode({"image": open(filename)})
request = urllib2.Request(url, datagen, headers)

servlet 检查以确保它是 Multipart,但它未能通过该检查。我该怎么做才能进一步调试?

谢谢,让

*******更新*********打印出堆栈跟踪...这就是我得到的。它抱怨内容类型标头为空

org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException:请求不包含 multipart/form-data 或 multipart/mixed 流,org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.(FileUploadBase .java:885) 在 org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331) 在 org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:349) 在 org.apache.commons。文件上传.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)

4

1 回答 1

0

如果您使用的是 Windows(或学究;-),open(filename)则打开二进制文件的方法是错误的,并且可能会搞砸——使用open(filename, 'rb'). 除此之外,当然假设您继续使用urllib2.urlopen(request)您省略的 a ,您import的 s 是正确的,并且filename之前url已正确设置,那么您的代码似乎是合法的。

于 2010-07-17T03:50:58.947 回答