2012-11-03 35 views
0

我使用的是valums file-uploader來上傳文件。如果我的Spring控制器返回void,這很好用。如果我向我的控制器IE添加@Responsebody對象,那麼我將下載而不是上傳文件並啓動對話框。valums file-uploader IE和@Responsebody。 IE啓動下載對話框。

我想擁有@Responsebody對象而不是void的原因是錯誤處理。在這種情況下我該如何欺騙IE?

回答

0

我假設Spring自動將content-type設置爲application/json給你,這在IE中不起作用。確保您的回覆的內容類型爲文本/純文本。有些人會說text/html是正確的,在大多數情況下都是如此。但是,如果您的JSON響應包含HTML,則text/html會導致您的問題,因爲IE將與響應混淆。所以,你最安全的選擇是確保你的回覆的內容類型是純文本的。

雖然我們在討論IE quirkiness的主題,但如果您打算在響應中包含JSON,也只能返回200響應。默認情況下,IE將用「友好」消息替換「小」非200響應的內容。我相信,「小」的定義是小於512(或可能是256)字節的響應。

有關使用IE時應注意的所有事項的列表,請查看Fine Uploader自述文件中的"limitations of IE"部分。

+0

它可以在響應中創建一個沒有內容類型「applicatinon/json」的自定義freemarker視圖。 – pethel