我正在使用python海報庫嘗試上載包含圖像的表單到servlet。在本地,它運行良好,但是當我部署到應用程序引擎時,它不會將其識別爲多部分內容。使用python海報庫時獲取isMultipartContent = false
ServletFileUpload.isMultipartContent(請求)返回false
這裏是我如何使用海報庫:
register_openers()
datagen, headers = multipart_encode({"image": open(filename)})
request = urllib2.Request(url, datagen, headers)
的Servlet檢查,以確保它是多部分,但它無法入住手續。我能做些什麼來進一步調試?
感謝, 牛仔
*******更新********* 打印出堆棧跟蹤......這裏就是我得到。它抱怨內容類型標頭isnull
org.apache.commons.fileupload.FileUploadBase $ InvalidContentTypeException:請求不包含multipart/form-data或multipart/mixed流,內容類型標頭爲空 at 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)
感謝您的提示。是的,我跟隨urllib2.urlopen(請求)和其他一切設置正確,並在本地運行我的appengine應用程序時按預期運行。部署時,它會碰到servlet,但是servlet拒絕了請求,因爲我有一個檢查來確保它是多部分的。 – jeanh 2010-07-17 10:05:08
@jeanh,我想知道這個檢查是否正確 - 在servlet中,你可以「轉儲」它所獲得的確切字節流(進入文件,日誌等等),然後點擊它來查看它與發送內容的區別? – 2010-07-17 15:08:19
也剛剛檢查,當在本地運行時,request.getContentType看起來很好。在我部署到應用程序引擎後,它是空的。 – jeanh 2010-07-19 20:06:16