【发布时间】:2014-02-20 20:14:53
【问题描述】:
我正在尝试通过 Web 界面验证某些文件的内容,并使用响应来启用/禁用某些其他功能……例如保存按钮。我已经完成了提交和文件处理(存根),但我似乎无法让我的响应正常工作。
问题:响应尝试让用户下载包含响应内容的文件。我只想将响应传递给要处理的成功函数。
JS函数代码:
function validateCopybook() {
//submit values.
console.log("validating");
if (this.getForm().isValid()) {
this.getForm().submit({
url : 'batch/validateCopybook.json',
waitMsg : 'Validating...',
success : function(form, action) {
this.msg('Success', 'Processed file on the server');
}
});
}
}
服务器端代码:
public ModelAndView validateCopybook(HttpServletRequest request, HttpServletResponse response) throws Exception
{
// Check whether we're dealing with a multipart request
String contentHeader = request.getHeader("content-type");
boolean isMultipart = (contentHeader != null && contentHeader.indexOf("multipart/form-data") != -1);
if (isMultipart == false)
{
return Helper.errorResponse("not multipart");
}
else
{
DefaultMultipartHttpServletRequest reqM = (DefaultMultipartHttpServletRequest) request;
MultiValueMap<String, MultipartFile> fileMap = reqM.getMultiFileMap();
MultipartFile copyIn = fileMap.get("copy-path-in").get(0);
MultipartFile copyOut = fileMap.get("copy-path-out").get(0);
}
System.out.println(response.getContentType());
response.setContentType("application/json");
ModelAndView mav = Helper.successResponse("success");
return mav;
}
返回响应:
ModelAndView: reference to view with name 'json'; model is {model={data={"success":true,"info":"success","dataLength":0,"data":[]}}}
有什么想法吗?
【问题讨论】:
-
你能用 Firebug 检查确切的响应,并告诉我们它说什么。响应标头上的 Content-Type 设置是否正确?响应的具体内容是什么?
标签: java file-upload extjs httpresponse