質問

ファイルのアップロードを処理しようとしています。com.oreilly.servlet.multipart.multipartparserクラスを使用して、投稿されたデータを解析します(cos.jar)。ただし、MultiPartParserのコンストラクターに電話すると、この例外が表示されます。

java.io.IOException: Corrupt form data: premature ending
    at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:166)
    at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:94)

これを見たことがありますか?私が読んだことから、これは、探している境界を見つける前にデータが終了したことを意味します。これを修正するにはどうすればよいですか?

cos.jar バージョン 1.0 を使用しています。

ありがとう!

役に立ちましたか?

解決 2

だから、問題は、私は偶然、二回MultipartParserコンストラクタを呼び出すことによって引き起こされました。要求がすでに処理されていたので、それは、二度目に失敗します。

他のヒント

http://www.servlets.com/cos/faq.html

これは、クライアントが提出したPOSTリクエストを解析する問題があったことを示しています。問題には多くの原因があります。

  • クライアントは停止ボタンを押します(実際には問題ではありませんが、時期尚早のエンディングを引き起こします)
  • Webフォームのバグ
  • サーブレットのバグ
  • Webサーバーのバグ
  • ブラウザのバグ
  • com.oreilly.servlet ライブラリ自体のバグ

履歴により、Webサーバーが非常に多くの異なるサーバーがあり、バイナリアップロード機能をテストするベンダーが少ないため、おそらく問題の最も頻繁な原因であることが示されています。

まず、クライアントが停止ボタンを押していないことを確認してください。次に、このサイトのリソースに問題が既に投稿されているかどうかを確認します。それがよく知られていない場合、あなたはそれについて最初に学ぶことができます!そして あなたの発見を私たちと共有しましょう ここにある!

次に 提供されたupload.htmlフォームと DemoRequestUploadServlet.javaクラス。バグを発見した人もいる。 問題を引き起こしたフォームテスト この組み合わせが その場合あるユーザー、デューク・タクルは次のように語っている。 この例外は リダイレクト 私も同じ経験をした。 アルバート・スミスとしての "早すぎる結末"。私が発見した問題は はI.E.に孤立していた。5.0。について 私を悩ませたアプリケーションは の建設後のリダイレクト。 MultipartRequest.こんな感じだ。 工事はI.E.を除いて順調だった。5.0 ブラウザは再度リクエストを試みたが、その時点では ServletInputStreamが空でした。私は アプリケーションを単に の代わりに必要なレスポンスを書く。 リダイレクトする。この問題は を修正した。 およびWeblogic 6.1。 他のユーザーは サーブレットの処理にバグが見つかった ここで request.getParameter() を呼び出します。 の代わりに multipartRequest.getParameter()、および 一部のサーバーは入力を誤って読み取る ストリームのgetParameter()が 予期せぬ結末」を招いたという。 部分」である。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top