我使用extjs作为前端将表单数据提交给服务器。表单数据包括多部分文件。数据以json的形式发送到返回响应的服务器。不幸的是,这导致Internet Explorer 9(我的必需浏览器)提示&#34;您是否要从localhost打开或保存uploadClientPgpKey.json?&#34;我已经尝试更改表单中的contentType,因为它基本上是一个ajax请求但是,我没有取得任何成功,取消了上述仅出现在IE9而不是Chrome或Firefox中的弹出对话框。< / p>
Extjs 4.2代码
form.submit({
url: 'services/cp/uploadClientPgpKey.json',
waitMsg: 'Uploading your PGP Key...',
//headers: {'Content-Type': 'text/html'},
success: function(fp, o) {
this.up('window').close();
Ext.Msg.alert( 'Processed file "' + o.result.file + '" on the server.');
},
failure: function(form, action) {
obj.up('window').close();
Ext.Msg.alert('Message', action.response.responseText);
}
});
Java代码
@RequestMapping(value="/uploadClientPgpKey", method=RequestMethod.POST)
@ResponseBody
public ModelAndView uploadPGPKey(@RequestParam("client") String clientKey,
@RequestParam("docKey") String docKey,
@RequestParam("pgpKey") MultipartFile file)
{
// lots of code here
}