0

Python poster ライブラリを使用して、画像を含むフォームをサーブレットにアップロードしようとしています。ローカルでは問題なく動作しますが、アプリ エンジンにデプロイすると、マルチパート コンテンツとして認識されません。

ServletFileUpload.isMultipartContent(request) が false を返す

ポスター ライブラリの使用方法は次のとおりです。

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

サーブレットはマルチパートであることを確認しますが、そのチェックに失敗します。さらにデバッグするにはどうすればよいですか?

ありがとう、ジャン

********更新************ スタック トレースを出力すると、次のようになります。コンテンツ タイプ ヘッダーが null であると不平を言う

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. fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)

4

1 に答える 1

0

あなたがWindowsを使用している場合(または衒学者;-)、open(filename)バイナリファイルを開くのは間違った方法であり、物事を台無しにする可能性があります-使用open(filename, 'rb'). それとは別に、もちろん、urllib2.urlopen(request)省略した a を続行し、 imports が正しく、 および がfilename以前urlに適切に設定されていると仮定すると、コードは正当に見えます。

于 2010-07-17T03:50:58.947 に答える