Получение isMultipartContent = false при использовании библиотеки плакатов python - PullRequest
0 голосов
/ 17 июля 2010

Я использую библиотеку плакатов python, чтобы попытаться загрузить форму, содержащую изображение, в сервлет. Локально он работает нормально, но при развертывании на ядре приложения он не распознает его как составной контент.

ServletFileUpload.isMultipartContent (запрос) возвращает false

Вот как я использую библиотеку плакатов:

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

Сервлет проверяет, является ли он Multipart, но он не проходит эту проверку. Что я могу сделать для дальнейшей отладки?

Спасибо, жан

* 1011 обновление ******** ********* распечатка следа стека ... вот что я получаю. Жалуется на тип содержимого заголовка isnull

org.apache.commons.fileupload.FileUploadBase $ InvalidContentTypeException: запрос не содержит multipart / form-data или multipart / mixed потока, заголовок типа содержимого имеет значение null в 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.fileupload.servlet.ServletFileUpload.parseRequest (ServletFileUpload.java:126)

1 Ответ

0 голосов
/ 17 июля 2010

Если вы работаете в Windows (или педантист ;-), open(filename) - это неправильный способ открыть двоичный файл и может испортить ситуацию - используйте open(filename, 'rb'). Кроме того, если, конечно, вы продолжите работу с urllib2.urlopen(request), который вы пропустили, что ваши import верны и что filename и url правильно установлены ранее, тогда ваш код кажется корректным.

...