ukipoi
V2EX  ›  问与答

请教一下,使用 HttpServletResponse 流传输 apk 文件,下载之后解析软件包是出现问题应该如何解决?或者说传输 apk 应该使用什么样的解决方式?

  •  
  •   ukipoi · Sep 7, 2018 · 1659 views
    This topic created in 2816 days ago, the information mentioned may be changed or developed.

    不是很懂这方面的事情,是应该搭建一个文件服务传输吗? 希望能提供一下解决思路,顺便请教一下。windows service2012 服务器,我配置了 tomcat 的端口为 80,但是访问域名得到的还是 IIS 的首页,所以我就把服务器 IIS 的功能关闭了。请问如果不关闭 IIS 的服务,应该如何解决这个问题?(感觉 windows 服务器好复杂啊,好多东西不了解是什么用途。。。)

    5 replies    2018-10-16 17:55:47 +08:00
    ebingtel
        1
    ebingtel  
       Sep 7, 2018
    content-type 指定了吗?'application/vnd.android.package-archive'
    ukipoi
        2
    ukipoi  
    OP
       Sep 7, 2018
    @ebingtel 指定了
    ```java
    res.setHeader("content-type", "application/vnd.android.package-archive");
    res.setHeader("content-type", "application/vnd.android.package-archive");
    res.setContentType("application/vnd.android.package-archive");
    res.setHeader("Content-Disposition", "attachment;filename=" + fileName);
    byte[] buff = new byte[1024];
    BufferedInputStream bis = null;
    OutputStream os = null;
    try {
    os = res.getOutputStream();
    bis = new BufferedInputStream(new FileInputStream(new File("C://"
    + fileName)));
    int i = bis.read(buff);
    while (i != -1) {
    os.write(buff, 0, buff.length);
    os.flush();
    i = bis.read(buff);
    }
    }
    ```
    现在是把 apk 放在 static 目录下边,直接输入 文件名.apk 下载的。不过这样子不能在 Controller 里做控制了,还是想请教一下,网页提供 apk 下载一般情况下是怎么处理的。小作坊没什么人能请教,前辈都在我实习的时候跑光了。。
    ebingtel
        3
    ebingtel  
       Sep 7, 2018
    @ukipoi 直接放在 static 也可以……自己现在浏览器里面试一下下载,看看是不是 content-type 的问题,是的话:
    静态文件其实不应该由 tomcat 处理,直接由外面的 nginx 服务器处理即可,通过 nginx 配置,可以给*.apk 的请求,自动加上指定的 content-type ……
    night98
        4
    night98  
       Sep 8, 2018 via Android
    放在 static 下的话,控制器直接跳转过去浏览器会默认是下载的吧,还有你这样写效率太低,扔 nginx 上面就行了。
    xiaoxinshiwo
        5
    xiaoxinshiwo  
       Oct 16, 2018
    现在是把 apk 放在 static 目录下边,直接输入 文件名.apk 下载的。不过这样子不能在 Controller 里做控制了,还是想请教一下,网页提供 apk 下载一般情况下是怎么处理的。小作坊没什么人能请教,前辈都在我实习的时候跑光了。。
    --- 并非在静态目录下就不能做拦截了啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2941 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 12:38 · PVG 20:38 · LAX 05:38 · JFK 08:38
    ♥ Do have faith in what you're doing.