我正在使用 valums 文件上传器来上传文件。如果我的 Spring 控制器返回 void,这将非常有用。如果我将 @Responsebody 对象添加到我的控制器 IE 中,我将下载而不是上传文件并启动一个对话框。
我想要一个 @Responsebody 对象而不是 void 的原因是为了错误处理。在这种情况下,我该如何欺骗 IE?
我正在使用 valums 文件上传器来上传文件。如果我的 Spring 控制器返回 void,这将非常有用。如果我将 @Responsebody 对象添加到我的控制器 IE 中,我将下载而不是上传文件并启动一个对话框。
我想要一个 @Responsebody 对象而不是 void 的原因是为了错误处理。在这种情况下,我该如何欺骗 IE?
我假设 Spring 会自动为您将内容类型设置为 application/json,这在 IE 中不起作用。确保您的响应的内容类型是文本/纯文本。有人会说 text/html 是正确的,这在大多数情况下都是正确的。但是,如果您的 JSON 响应包含 HTML,则 text/html 会导致您出现问题,因为 IE 会弄乱响应。因此,您最安全的选择是确保您的回复的内容类型是文本/纯文本。
虽然我们讨论的是 IE 怪癖,但如果您打算在响应中也包含 JSON,请确保只返回 200 响应。默认情况下,IE 会将“小”非 200 响应的内容替换为“友好”消息。我相信,“小”被定义为小于 512(或可能 256)字节的响应。
有关使用 IE 时应注意的所有事项的列表,请查看 Fine Uploader 自述文件中的“IE 限制”部分。