Flashを使用してサイズ変更およびアップロードするときにサーブレットでJPEG画像を読み取るにはどうすればよいですか?
メソッドにdoPost()
ありますが、ファイルが見つかりません。で取得できませんrequest.getParameter(...)
。
で取得しrequest.getInputStream()
てファイルに書き込むと、開くことができません。どういうわけかJPEGエンコーディングが壊れています。
Flashを使用してサイズ変更およびアップロードするときにサーブレットでJPEG画像を読み取るにはどうすればよいですか?
メソッドにdoPost()
ありますが、ファイルが見つかりません。で取得できませんrequest.getParameter(...)
。
で取得しrequest.getInputStream()
てファイルに書き込むと、開くことができません。どういうわけかJPEGエンコーディングが壊れています。
HTTPを介したファイルのアップロード要求は、通常、multipart/form-data
要求のエンコードを使用して送信され、試行で期待されるようなエンコードは使用されません。はリクエストの本文全体を提供しますが、これもあなたが望むものではありません。基本的に、それを使用可能な部分に解析し、そこからアップロードされたファイルを抽出する必要があります。application/x-www-form-urlencoded
getParameter()
getInputStream()
すでにサーブレット3.0を使用している場合(これはすでにほぼ3年間使用されています)、getPart()
代わりに使用してください。
Part uploadedFile = request.getPart("fieldName");
InputStream uploadedFileContent = uploadedFile.getInputStream();
// Now just write it to an arbitrary OutputStream the usual way.
または、サーブレット2.5以降を使用している場合は、ApacheCommonsFileUploadを入手してください。
multipart/form-data
-サーブレットでリクエストを処理する方法のより具体的な例が含まれています