extjs + struts 文件上传成功后,却弹出了下载框!
被这个问题困扰了3天,最后终于找到答案了,
一般来说,如果要上传文件,EXTJS的表单要加上一行:
fileUpload: true,
例如:
var panPath = new Ext.FormPanel({
id:'panPath-form',
labelWidth: 30,
frame:true,
fileUpload: true,
url: '/UPM/uploadFile.do',
items: [{
xtype: 'textfield',
inputType: 'file',
id: 'panPathField',
fieldLabel: 'path',
editabled:false,
name: 'upload',
blankText: '请选择图片路径...'
}]
});
问题加上了这行之后,EXTJS接受的数据类型变成了
"text/html"
如果依然设置为
"application/json"
就会弹出下载框
例如返回数据的函数写成:
public void writeUploadExtSuccess() throws Exception {
String resultSuccess;
resultSuccess = "{success:true,msg:/'ok/'}";
ServletActionContext.getResponse().setContentType("text/html");
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().getWriter().write(resultSuccess);
}