精华内容
下载资源
问答
  • docx xlsx pptx文件下载变成 zip文件 csv文件下载后变为 html文件
                   

    场景:*.docx,*.xlsx,*.pptx文件下载后变成.zip文件,*.csv文件下载后变为.html文件,如何解决:

     

    在应用程序的Web.xml文件中增加以下内容:

     

       <mime-mapping>

           <extension>docx</extension>

           <mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>

       </mime-mapping>

       <mime-mapping>

           <extension>xlsx</extension>

           <mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>

       </mime-mapping>

       <mime-mapping>

            <extension>pptx</extension>

           <mime-type>application/vnd.openxmlformats-officedocument.presentationml.presentation</mime-type>

    <mime-mapping>

            <extension>csv</extension>

            <mime-type>application/vnd.msexcel</mime-type>

    </mime-mapping>

       </mime-mapping>

     

               
    展开全文
  • 项目已经运行了5年了,今天突然发现上传的doc文件在使用IE自带的下载时,文件的后缀名变成zip了。很是莫名其妙,先是分析了程序代码,感觉不应该是程序的事情(要是有问题不可能今天才暴漏,肯定是环境变化引起的)...

            项目是用ASP.NET+C#开发的。项目已经运行了5年了,今天突然发现上传的doc文件在使用IE自带的下载时,文件的后缀名变成zip了。很是莫名其妙,先是分析了程序代码,感觉不应该是程序的事情(要是有问题不可能今天才暴漏,肯定是环境变化引起的),又做了各种尝试(将文件用word2007另存后再上传没问题,自己新建的word2007文档上传依旧没问题,将上传文件由2007另存为2003也没问题),怀疑上传的word文件本身有问题。后来又试了各种浏览器,发现苹果的浏览器,谷歌浏览器,ie6下都没问题,ie8和ie9下就有问题。最后上网搜了一下,说是假如找不到相应后缀的MIME的话,会自动根据数据流来判断文件的类型,而微软对Office2007的格式做了和以前完全不同的处理,docx本质上是一个zip文件,里面有一系列的xml、目录和其他的文件。如果我们将docx改成zip。就可以用winzip等软件将其解开。所以说当mime中没有找到对应的doc类型解析才会出现这种情况。于是问题出现在哪里清楚了,具体解决方法如下:

          问题解决:第一步将服务器上的office由2003升级到2007;

                              第二步在iis中点“本地计算机”属性,在弹出窗口中,设置MiME类型。增加.docx和.xlsx的相应解析。例如:点击新建按钮,弹出对话框中,扩展名处填写.doc,在MIME类型处填“application/msword”。

                              第三步在项目的网站名上点击右键属性,在打开的网站属性窗口中找到“http头选项卡”,找到MIME设置,具体设置如第二步中一样,加入.doc/.docx/.xls/.xlsx;

                              第四步重启IIS。

    展开全文
  • 有时候我们下载安卓应用文件apk的时候,用IE浏览器下载,扩展名就被自动被重命名成了“xxx.zip”,拷贝到手机上无法安装。
  • 前端下载文件变成了export.zip. 主要原因是文件头设置有问题: 未设置有效的文件头 设置文件头要在写入数据之前。 源码 /** * 设置 数据流写入成功的响应头信息(需要将请求头放在流写入的前面,下载文件会出现...

    前端下载文件变成了export.zip.

    主要原因是文件头设置有问题:

    1. 未设置有效的文件头
    2. 设置文件头要在写入数据之前。

    源码

     /**
         * 设置 数据流写入成功的响应头信息(需要将请求头放在流写入的前面,下载文件会出现问题)
         * @param response
         * @param name
         * @throws IOException
         */
    public static void setSuccessResponseHeader(HttpServletResponse response,String name) throws IOException {
        // 设置信息给客户端不解析
        String type = new MimetypesFileTypeMap().getContentType(name);
        // 设置contentType,即告诉客户端所发送的数据属于什么类型
        if (StringUtils.isEmpty(type)) {
            type = MediaType.APPLICATION_OCTET_STREAM_VALUE;
        }
        response.setHeader(HttpHeaders.CONTENT_TYPE, type);
        // 设置扩展头,当Content-Type 的类型为要下载的类型时 , 这个信息头会告诉浏览器这个文件的名字和类型。
        response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode(name, "UTF-8"));
    }
    
    /**
         * 数据写入response
         * @param data
         * @param name
         * @throws IOException
         */
    public static void successResponse(byte[] data, String name) throws IOException {
        HttpServletResponse response = getHttpResponse();
        try ( OutputStream outputStream  = response.getOutputStream()){
            setSuccessResponseHeader(response,name);
            outputStream.write(data);
            outputStream.flush();
        }
    }
    
    /**
         * 下载文件失败后 ,返回 json String 格式
         * @param data
         * @return
         */
    public static String failResponse(Object data) {
        HttpServletResponse response = getHttpResponse();
        response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_UTF8_VALUE);
        FailResponse failResponse = new FailResponse();
        failResponse.setData(data);
        failResponse.setMsg("请求失败。");
        failResponse.setData(data);
        return JSON.toJSONString(failResponse);
    }
    
    /**************以responsEntity 的形式返回***************/
    public static ResponseEntity successEntity(byte[] data, String name) throws UnsupportedEncodingException {
            HttpHeaders headers = new HttpHeaders();
            name = URLEncoder.encode(name, "UTF-8");
            headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + name);
            headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
            HttpStatus statusCode = HttpStatus.OK;
            return new ResponseEntity<>(data, headers, statusCode);
        }
    
        public static ResponseEntity failEntity(Object data) {
            HttpHeaders headers = new HttpHeaders();
            headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_UTF8_VALUE);
            HttpStatus statusCode = HttpStatus.BAD_REQUEST;
            FailResponse failResponse = new FailResponse();
            failResponse.setData(data);
            failResponse.setMsg("请求失败。");
            return new ResponseEntity<>(failResponse, headers, statusCode);
        }
    
    展开全文
  • 今天发现放在服务器上的apk安装文件,把下载地址发给别人的时候,他们有用IE浏览器下载的,结果文件后缀apk变成.zip格式了。于是从网上找到答案说是,需要APK文件的MIME类型。 我的web服务器用的Tomcat,具体实现...

    今天发现放在服务器上的apk安装文件,把下载地址发给别人的时候,他们有用IE浏览器下载的,结果文件后缀apk变成.zip格式了。于是从网上找到答案说是,需要APK文件的MIME类型。

    我的web服务器用的Tomcat,具体实现方式是从项目的web.xml里面配置添加以下代码:


    <mime-mapping>  
    <extension>apk</extension>  
    <mime-type>application/vnd.android.package-archive</mime-type>  
    </mime-mapping>  


    然后重启tomcat,再测试下,变成.apk文件了。成功!


    Apache服务器的配置文件路径是conf/mime.types
    在该文件里面添加一行数据,如下:

    application/vnd.android.package-archive  apk 

    展开全文
  • 很多用户反映,网站上提供的Android手机应用程序文件“xxx.apk”,用IE浏览器下载,扩展名就被自动被重命名成了“xxx.zip”,拷贝到手机上无法安装。我发现,由于APK文件本身就是压缩包,如果用户的电脑上装了WinRAR...
  • 本地电脑的浏览器是IE8,通过网页访问服务器,下载office2007文档时候,浏览器自动识别成zip格式了 现象如下图: [img=https://img-bbs.csdn.net/upload/201307/27/1374936571_298665.jpg][/img] 不知道有...
  • 从IIS或者Tomcat之类的Web服务器通过二进制流下载文件时(比如通过设置Header为Content-disposition:inline),如果被下载的文件是Office2007的dotx,docx,pot等后缀的时候,下载对话框中的图标会变成ZIP的,相应的...
  • nginx服务器在IE下载时,apk文件变成zip的解决方法(转)     本文转自:http://rickie622.blog.163.com/blog/static/212388112011113103123967/ 很多用户反映,网站上提供的Android手机应用程序文件“xxx....
  • APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。 解决方法: 如果你的...
  • APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,...由于APK文件本身就是压缩包,如果用户的电脑上装了WinRAR(85%的装机量),用IE下载APK文件,扩展名就会被自动改为“.zip”。 ...
  • But,今天突然发现,在IE浏览器下下载APK和IPA的文件是会被自动识别为ZIP,也就是直接下载的apk或者ipa下载下来后都变成ZIP,怎么个情况,这个怎么让用户安装啊,虽然你把后缀该回apk后还能继续安装,但是那个客户...
  • 从IIS或者Tomcat之类的Web服务器通过二进制流下载文件时(比如通过设置Header为Content-disposition:inline),如果被下载的文件是Office2007的dotx,docx,pot等后缀的时候,下载对话框中的图标会变成ZIP的,相应的...
  • 从IIS或者Tomcat之类的Web服务器通过二进制流下载文件时(比如通过设置Header为Content-disposition:inline),如果被下载的文件是Office2007的dotx,docx,pot等后缀的时候,下载对话框中的图标会变成ZIP的,相应的...
  • 早上研发的同事说刚上的android下载文件变成zip了,导致用户手机无法安装。现解决方法如下: 1)nginx服务器 在Nginx安装目录下的conf/mime.types文件的对应位置,加上以下一行: application/vnd.android.package-...
  • 见标题。 网络上大部分都在说更改tomcat的web.xml中的MIME ...2.apache http Java api 上传的文件doc,下载下来是zip。 以下是我认为的原因,当你上传文件没有写明文件名,比如xxx.doc时,seaweedfs拿到这个文件...
  • 前段时间,在公司开发javaEE项目,网站提供了android应用的下载,结果发现很多3G上网用户下载的apk文件变成zip文件,但是数据库中存放的是apk文件路径,最近百思不得其解,我们公司使用的是apache-tomcat7,我就...
  • 前段时间,在公司开发javaEE项目,网站提供了android应用的下载,结果发现很多3G上网用户下载的apk文件变成zip文件,但是数据库中存放的是apk文件路径,最近百思不得其解,我们公司使用的是apache-tomcat7,我就...
  • android zip文件下载后后缀变成.apk

    千次阅读 2017-08-14 14:22:11
    需要从服务器下载主题zip包,之前都运行的正常,然后同事手机上下载下来的文件后缀变成apk,因为解压时,路径带了后缀.zip,就导致fileNotFoundException,文件解压失败。 后来发现在download manager中,mimeType ...
  • 在tomcat 的web.xml文件中加入ipa的mime type配置即可      ipa  application/vnd.iphone        apk  application/vnd.android.package-archive

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 253
精华内容 101
关键字:

下载文件变成zip