【发布时间】:2012-07-16 20:16:40
【问题描述】:
我有一个文件附件插件 (AJAX File Upload plugin from Valums),它要求返回的 json 类型为“text/html”。我正在开发的 Web 应用程序使用 Spring Framework,它强制返回类型为“application/json”。我希望 json 以“text/html”的形式返回。由于返回的 json 是“application/json”类型,我得到一个文件下载对话框,这是用户不应该看到的(文件应该自动上传)。
@RequestMapping(value="attachmentUpload", method=RequestMethod.POST)
public @ResponseBody Map<String, String> attachmentUpload(
@ModelAttribute("fileUploadFB") @Valid final FileUploadFormBean fileUploadFB,
BindingResult result,
SessionStatus sessionStatus,
HttpServletResponse response) {
final Map<String, String> resultMap = new HashMap<String, String>();
resultMap.put("success", "true");
// vain attempts to force text/html; do not work
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Content-Type", "text/html");
return resultMap;
}
如果有人有任何建议,将不胜感激!
【问题讨论】:
-
传入的
Accept标头内容是什么? -
我认为它是“text/html”...除非我遗漏了什么。这是我在控制器或插件中设置的吗?
-
传入的请求会指定这个。
-
我在哪里设置传入请求?我还在学习:)
-
@user1529955 在您的情况下,它可能是发出请求的浏览器/网页。
标签: json spring spring-mvc file-upload response