Extjs上传文件时提示下载.action文…

在使用Extjs上传文件时提示下载.action文件的解决办法:
  示例如下:
   me.getFormPanel().form.submit({
                url 'document/update.do',
                method 'post',
         success function(form1,action) {
            me.close();
         },
       failure : function( form1,action){
           
     }
  });
在提交表单上传文件时后台会返回一个处理结果,如果返回的结果是一个json格式的字符串在某些浏览器下就会出现提示下载.action文件的弹出框,此时可检查后台代码,查看后台response返回的ContentType的属性值,一般将ContentType的只设置为text/html;charset=utf-8即可,
如:response.setContentType("text/html;charset=utf-8");

以下是关于response.setContentType()的参数及作用:

response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。

Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考。
response.setContentType("text/html; charset=utf-8"); html
.setContentType("text/plain; charset=utf-8"); 文本
text/javascript json数据
application/xml 
xml数据

这个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设置 Content-type实体报头。
一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");


response.setContentType()的String参数及对应类型

 value="image/bmp">BMP   
 value="image/gif">GIF   
 value="image/jpeg">JPEG   
 value="image/tiff">TIFF   
 value="image/x-dcx">DCX   
 value="image/x-pcx">PCX   
 value="text/html">HTML   
 value="text/plain">TXT   
 value="text/xml">XML   
 value="application/afp">AFP   
 value="application/pdf">PDF   
 value="application/rtf">RTF   
 value="application/msword">MSWORD   
 value="application/vnd.ms-excel">MSEXCEL   
 value="application/vnd.ms-powerpoint">MSPOWERPOINT   
 value="application/wordperfect5.1">WORDPERFECT   
 value="application/vnd.lotus-wordpro">WORDPRO   
 value="application/vnd.visio">VISIO   
 value="application/vnd.framemaker">FRAMEMAKER   
 value="application/vnd.lotus-1-2-3">LOTUS123


MIME映射策略就是在网页中使用哪个应用程序(即插件),打开哪种文件。另外还有使用权限问题。比如对PDF文档,用“application/pdf“策略。这在动态网页中很常见。出现这种现象,有两种情形:一是使用一个应用程序去打开它不能打开的文档,比如用在标签中定义“DWG”文档用“application/pdf”,就会出现无法打开的问题。二是文件扩展名符合要求,但文件内容(格式)不符合要求。你可以检查你浏览的网页源代码,获得出错信息。检查方法是:查看—源文件。寻找类似于“application/pdf “的字符串,就可以看到,要打开的文件是否与应用程序匹配。 追问 如果不相匹配如何解决回答这通常是由网页编写人来更改。比如:你在源文件里面找到你要打开的文件的HTML标签,在里面加上应用程序即可。比如,你要在网页上打开一个PDF文档,找到PDF文档那一行,在HTML标签里加上 type=“application/pdf “ 就可以了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值