精华内容
下载资源
问答
  • 最近处理文件下载遇到奇怪现象:小文件(30 ~ 40M)下载正常,大文件(>100M)下载总是404  因为使用了Nginx,最初怀疑是代理配置问题,于是 proxy_buffering off 或 proxy_buffering on; proxy_...

    最近处理文件下载遇到奇怪的现象:小文件(30 ~ 40M)下载正常,大文件(>100M)下载总是404 

    因为使用了Nginx,最初怀疑是代理配置的问题,于是

    proxy_buffering off
    
    或
    proxy_buffering on;
    proxy_buffers 4 4k;
    proxy_busy_buffers_size 8k;
    proxy_max_temp_file_size 1024m;
    
    并
    proxy_send_timeout 600;
    proxy_read_timeout 600;

     结果没卵用,再细想404 是服务报出来的,于是专心改代码

     

    最初代码如下

    <a href='project/downloadFile?fileName=fn.docx&filePath=c:\\dir\\fn.docx' target='_self'>下载fn.docx</a> 
        @RequestMapping(value = "/downloadFile", method = RequestMethod.GET)
        @ResponseBody
        public void downloadFile(HttpServletRequest request, HttpServletResponse response) {
            try {
                String fileName = new String(
                        request.getParameter("fileName").getBytes("iso-8859-1"),
                        "UTF-8"
                );
                String filePath = new String(
                        request.getParameter("filePath").getBytes("iso-8859-1"),
                        "UTF-8"
                );
    
                File file = new File(filePath);
                if (!file.exists()) {
                    return;
                }
    
                InputStream input = new FileInputStream(file);
                byte[] buffer = new byte[input.available()];
                input.read(buffer);
                input.close();
    
                response.reset();
                response.setHeader(
                    "Content-disposition", 
                    "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")
                );
                response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
    
                OutputStream output = response.getOutputStream();
                output.write(buffer);
                output.flush();
                output.close();
            } catch (Exception e) {
                logger.error(e.getMessage(), e);
            }
        }

     

    改成如下代码就好了

        @RequestMapping(value = "/downloadFile", method = RequestMethod.GET)
        @ResponseBody
        public void downloadFile(HttpServletRequest request, HttpServletResponse response) {
            BufferedInputStream input = null;
            BufferedOutputStream output = null;
            try {
                String fileName = new String(
                        request.getParameter("fileName").getBytes("iso-8859-1"),
                        "UTF-8"
                );
                String filePath = new String(
                        request.getParameter("filePath").getBytes("iso-8859-1"),
                        "UTF-8"
                );
    
                File file = new File(filePath);
                if (!file.exists()) {
                    return;
                }
    
                input = new BufferedInputStream(new FileInputStream(file));
    
                response.setHeader(
                        "Content-disposition",
                        "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")
                );
                response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
    
                ServletOutputStream servlet = response.getOutputStream();
                output = new BufferedOutputStream(servlet);
    
                byte[] buffer = new byte[2048];
                int len = 0;
                while ((len = input.read(buffer, 0, buffer.length)) != -1) {
                    output.write(buffer, 0, len);
                }
                output.flush();
            } catch (Exception e) {
                logger.error(e.getMessage(), e);
            } finally {
                try {
                    if (null != output) {
                        output.close();
                    }
                    if (null != input) {
                        input.close();
                    }
                } catch (Exception e) {
                    logger.error(e.getMessage(), e);
                }
            }
        }

     

    我只是知其然,不知道所以然,不明白

    ServletOutputStream 和 OutputStream 有啥区别?

    展开全文
  • 最近做一个android项目时候,要自动更新版本,但是在下载新版本安装包时候,总是报下面的错误: open failed: EACCES (Permission denied) java.io.IOException: open failed: EACCES (Permission denied)  ...

    最近做一个android项目的时候,要自动更新版本,但是在下载新版本安装包的时候,总是报下面的错误:

    open failed: EACCES (Permission denied)
    java.io.IOException: open failed: EACCES (Permission denied)
       at java.io.File.createNewFile(File.java:946)

    
    
    检查权限配置,写SD卡的权限加了啊,
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    
    
    后来找了能下载文件的应用一对照,OMG,少了下面的读的权限。
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    
    
    加上后重新运行,OK了

    展开全文
  • Android studio编译时候总是报出build里文件的错误,网上有些说是将app\buildbuild文件夹删除,重新编译就可以了,的确,删除后重新编译,或者重启电脑就可以了,但是没多久就会再次出现同样的错误。...

           Android studio编译的时候总是报出build里文件的错误,网上有些说是将app\build的build文件夹删除,重新编译就可以了,的确,删除后重新编译,或者重启电脑就可以了,但是没多久就会再次的出现同样的错误。

    如何解决问题呢?

    1.下载先下载LockHunter.exe安装。地址:

    原网址不知道在哪了,网上可以找到,很多的。

    2.将如下代码copy到build.gradle里

    task clean(type: Exec) {
        ext.lockhunter = '\"C:\\LockHunter\\LockHunter.exe\"'//这个路径是你<span style="font-size: 18px;">LockHunter.exe安装路径</span>
        def buildDir = file(new File("build"))
        commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
    }
    就可以解决报错问题,不再出现了。

    展开全文
  • 文件下载总是404

    2021-01-10 13:44:36
    试了几个xlsx格式的文件下载都不好用,其中一个地址是 http://oqcpqqvuf.bkt.clouddn.com/可用.xlsx <p><code>W/DownloadUtil: 任务【http://oqcpqqvuf.bkt.clouddn.com/可用.xlsx】下载失败,错误码&#...
  • idea自动帮我们保存了pom文件,所以maven会按照我门修改了一半pom文件进行下载。导致下载出错。 解决办法就是设置idea不要帮我们自动保存 取消“Synchronize file on frame activation” 和“Save files on ...

    idia中默认是文件修改后会自动保存的。所以当我们修改了pom文件,还只修改到一半的时候。idea自动帮我们保存了pom文件,所以maven会按照我门修改了一半的pom文件进行下载。导致下载出错。
    解决办法就是设置idea不要帮我们自动保存

    取消“Synchronize file on frame activation” 和“Save files on framedeactivation”的选择
    同时我们选择"Save files automatically", 并将其设置为30秒,这样IDEA依然可以自动保持文件,所以在每次切换时,你需要按下Ctrl+S保存文件

    如何让IntelliJ IDEA动的时候不打开工程文件:Settings->General去掉Reopen last project on startup

    展开全文
  • 文件下载总是400

    2021-01-10 13:41:01
    <div><p>任务【http://120.76.208.96:8855/LawFile/20170803/1501747249989测试....奇怪是用AS自带AVD居然能下载 , 用真机(HTCM8)测试就报400 , 求解答</p><p>该提问来源于开源项目:AriaLyy/Aria</p></div>
  • java使用ZipOutputStream生成多个Excel数据文件打成压缩包zip下载总是在第二个Excel文件时在putNextEntry(entry)报 stream close 的错误
  • 1:在java开发时总遇到配置文件配置正确,可以运行但有时显示错误。例如下图 上面配置文件正确但有时显错就不能运行。原因是配置文件的约束项错了。 原因是自己jar包和配置文件版本不同。如果电脑联网它会找...
  • mysql常见监控软件:iis7服务器监控工具可以直接监控503错误监控,所以当503错误出现时候可以直接发现: 那我们应该监控MySQL那些状态呢?1、MySQL服务运行状态约定所有MySQL服务都必须以ip1(内网ip)来绑定,每...
  • 数据中总是夹杂着大量无用数据,通过查找,发现rt-thread/components/net/at/at_socket/at_socket.c这个文件 static size_t at_recvpkt_get(rt_slist_t <em>rlist, char </em>mem, size_t len) 中...
  • 前段时间做项目时,碰到一个问题,从网站下载文件总是少一个字节,导致文件打不开或者打开内容不正确,经过长时间寻找,终于发现问题所在(原来错误代码):  InputStream fis = null;  OutputStream out = ...
  • 最近两天,新的APP准备要上线,然后打包正式发布版时,总是提示不匹配 证书照hbuilder里面的文档一样...后来又看到一个方法,是证书信任问题,下载的cer发布证书安装后双击,信任那里选择始终信任 然后再导出...
  • 我在开发thinkphp的时候,先下载了一个thinkphp包,再编译了index.php文件,但是总是会出现以下错误: **Warning: require_once(ThinkPHPCommon/... ... 可是我的thinkphp.php文件下载的啊,怎么会出现这种错误
  • 在学习刘永鑫老师的qiime2教程中,有时候直接使用谷歌浏览器下载保存到目录里,但是运行demux(样本分类)时跳出错误,fast.gz is not a FastqGzFormat file。...请问手动下载的文件就无法识别吗?
  • EasyPoi导出excel文件总是1kb,且打不开 excel文件下载成功后打开文件遇到错误 之前的下载代码 private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) { try { ...
  • 一些错误可通过重新生成项目来修复,而另一些错误则需要更改代码。找不到指定模块。 (异常来自 HRESULT:0x8007007E) 这是我 错误,注册过dll被我删了,但是窗体中还有它引用,所以造成错误,后重新注册 ...
  • 项目需要,有一个功能是后端生成Excel文件并且写入文件流,前台接收并提示用户导出文件。 看起来是个很简单功能,网上关于这个功能解决办法也有很多,基本都差不多,大致如下: 后端: @RequestMapping(value...
  • java生成多个Excel数据文件打成压缩包zip下载总是在第二个Excel文件时在putNextEntry(entry)报 stream close 的错误?使用是ZipOutputStream ```public ByteArrayOutputStream downFileByStream...
  • 本人重新进行Android环境配置,在线下载并安装Android SDK时,别项目均可正确安装,但是全部或部分**Image项安装不成功,不论是改hosts文件,还是修改option项中相关设置均不成功,尝试后最终还是实现下载安装...
  • 有时候删除一些文件总是无法删除,这时候只有先跳过了,最后剩下有问题的文件几种处理。 出现这种问题是有些原因的: 1. 硬盘磁道或扇区出现错误,导致文件名出现乱码,这样的文件无法正常删除。 2. 有时候在...
  • 就把下载的文件下载到本地 (我显示的文件都是先以做成每个超级链接用数据库保存的);所以这里我用到了httpconnet;但是问题这里提供了下载路径;总是下载到我的云服务器上去了;所以请问大家怎么才能保存到我本地...
  • 最近要使用vc++6.0做课程设计,但是发现导入文件总是会崩掉,google了一大堆,网上基本上都说是一个意思,即缺少FileTool.dll。在经过无数次入坑之后,终于解决了这个错误。现在我将说明我解决过程: 相应...
  • 但是自己用axios下载,发现下载的文件变大了(实际是7.6K 变为11K),并且打开文件提示“文件已损坏或者无法打开” 查找资料 axios下载excel踩坑记录(导出Excel总是报格式错误而且乱码) 自己错误的原因 因为...
  • 本地资源库中已经有相关jar包,而Maven项目也再报错,但是在启动项目时tomcat:run,总是要联网下载POM文档,否则将会报下载失败的错误。查看资源库发现POM文件也存在,但是还是会去请求下载POM文档。 解决办法 找到...
  • 转自:... 今天实现文件下载功能,照着网上代码写了,结果总是提示下面的错误: Can not find a java.io.InputStream with the name [inputStream] in the invocation stack. Check the
  • 从github上下载的ipynb文件的打开方法

    千次阅读 2019-04-12 10:30:00
    描述:之前在公号看到一篇文章,文中有大量代码,处于对知识渴求(其实是懒),想要自己跑一遍。...本来要用自己jupyter打开,但总是提示如下错误: Unreadable Notebook: D:\file_saving\mooc_le...
  • 所有这些协议问题在于恢复大文件的下载会遇到一些麻烦,如果网络速度慢或不可靠,则可能会变得更糟。此外,使用这些协议复制文件时,将使用服务器和收件人之间所有可用带宽,这可能会对网络性能和其他网络应用...
  • 吐槽:相信很多人跟我一样,在看到很多有趣项目都想下载下来,看看源码,看看效果,然而受制于中国的的网(google和安卓官网都被墙了),下载下来开源项目几乎都运行不了,是几!乎!都!不!行!而不是某几个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 476
精华内容 190
关键字:

下载的文件总是错误