用于多部分文件上载的不需要的IE9打开/保存对话框

时间:2014-07-09 18:32:43

标签: java json internet-explorer spring-mvc extjs4

我使用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
}

0 个答案:

没有答案