0

extjs 4 と Spring 3.1 を使用してファイルをアップロードしようとしています。ファイルは正しくアップロードされますが、応答でエラーが発生し続けます。最初のエラーは次のとおりです。

Ext.Error: 無効な JSON 文字列をデコードしようとしています:

{"success":true,"msg":"アップロードは成功しました"}

そのため、調査した結果、応答のコンテンツ タイプは text/html である必要があることがわかりました。@RequestMapping アノテーションの生成タグを使用して、コントローラを text/html を送信するように変更しました。ここで、Http エラー 406 が表示されます。しかし、Accept ヘッダーを見ると、ブラウザーは text/html を受け入れることができるはずです。

http://localhost:9081/gppRenewalQuestionnaire/uploadExpenditure.htm

POST /gppRenewalQuestionnaire/uploadExpenditure.htm HTTP/1.1
Host: localhost:9081
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://localhost:9081/gppRenewalQuestionnaire/index.htm?nanda=C37843
Cookie: JSESSIONID=0000a7q2lUHepKNFfO__YaUIAZ-:-1
Content-Type: multipart/form-data; boundary=---------------------------23281168279961
Content-Length: 16056
-----------------------------23281168279961
Content-Disposition: form-data; name="owner"

772
-----------------------------23281168279961
Content-Disposition: form-data; name="rq"

439
-----------------------------23281168279961
Content-Disposition: form-data; name="fileData"; filename="GIGNotes.docx"
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

PK
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Language: en-US
Transfer-Encoding: chunked
Date: Mon, 14 Jan 2013 14:26:46 GMT
Server: WebSphere Application Server/6.1
----------------------------------------------------------

誰にもアイデアはありますか?

4

1 に答える 1

0

申し訳ありません。同僚がこの問題を約 20 分間見て解決しました。彼は、アップロードを処理していたコントローラー メソッドに @ResponseBody アノテーションがないと言いました。そうだったと信じていますが、それを証明することはできません。まあ、それは機能しており、それが重要です。:-)

于 2013-01-16T15:45:15.343 に答える