valums file-uploader IE和@Responsebody。 IE启动下载对话框。

时间:2012-11-03 19:27:16

标签: ajax spring spring-mvc spring-3 fine-uploader

我使用valums文件上传器上传文件。如果我的Spring控制器返回void,这很有效。如果我将@Responsebody对象添加到我的控制器IE中,我将要下载的内容而不是上传文件并启动对话框。

我希望拥有@Responsebody对象而不是void的原因是错误处理。在这种情况下如何欺骗IE?

1 个答案:

答案 0 :(得分:0)

我假设Spring会自动将内容类型设置为application / json,这在IE中不起作用。确保您的响应的内容类型是text / plain。有人会说text / html是正确的,大多数情况都是如此。但是,如果您的JSON响应包含HTML,则text / html会导致您出现问题,因为IE会使响应混乱。因此,您最安全的选择是确保您的回复的内容类型是text / plain。

虽然我们讨论的是IE问题,但如果您打算在回复中包含JSON,请确保只返回200响应。默认情况下,IE将使用“友好”消息替换“小”非200响应的内容。我认为,“小”被定义为小于512(或可能256)字节的响应。

有关使用IE时应注意的所有事项的列表,请查看Fine Uploader自述文件中的"limitations of IE"部分。