在java web项目中,当文件大小接近4.6MB时,文件下载失败,文件为空

在java web项目中,当文件大小接近4.6MB时,文件下载失败,文件为空,java,download,export,Java,Download,Export,java文件导出。我可以看到文件正在下载,但当它达到近5mb时,它就失败了,下载的文件没有内容。更糟糕的是,它在我本地的笔记本电脑上工作正常,但在公司的服务器上却出现故障。有人能帮忙吗?有什么问题吗?任何想法都欢迎 @RequestMapping(value = "", method = { RequestMethod.GET, RequestMethod.POST }) @ResponseBody public String functionName(HttpServl

java文件导出。我可以看到文件正在下载,但当它达到近5mb时,它就失败了,下载的文件没有内容。更糟糕的是,它在我本地的笔记本电脑上工作正常,但在公司的服务器上却出现故障。有人能帮忙吗?有什么问题吗?任何想法都欢迎

    @RequestMapping(value = "", method = { RequestMethod.GET, RequestMethod.POST })
    @ResponseBody
    public String functionName(HttpServletResponse response,RequestObject webRequest) throws Exception {
    OutputStream out = null;
    String msg = "success";
    try{
        byte[] byteContent = excelBuilder.exportDataModel(webRequest);
        if(byteContent != null){
            out = response.getOutputStream();
            response.setContentType(MediaType.APPLICATION_OCTET_STREAM.toString());
            String fileName = "fileName.xls";
            response.setCharacterEncoding("UTF-8");
            response.setContentType("application/octet-stream;charset=UTF-8");
            response.setHeader("Content-disposition", "attachment;filename="+fileName); 
            out.write(byteContent);
        }else{
            msg = "Export Error!No Content!";
        }

    }catch(Exception ex){
        msg = "Internal error";
    }finally{
        if(out != null){
            out.flush();
            out.close();
        }
    }
    return msg;

}

从您的描述中,我无法分辨您的笔记本电脑和服务器是否在同一网络中,也无法分辨您使用的是哪种协议(http、ftp)。 所以我可以分享我的经验

如果您的笔记本电脑和服务器位于同一网络中,我认为有必要检查服务器的安全配置。如果不是,我认为在你们公司的网络中可能有一个文件大小限制。这通常是由防火墙配置的


我希望这会有所帮助。

我们需要查看您用于连接到服务器、下载文件并将其写入本地存储的代码。您应该显示您的代码!对不起,没有说清楚。实际上,当我试图导出一些数据并生成excel文件时,就会发生这种情况。我没有生成文件并下载,而是将文件数据传输到字节数组中,然后将其写入响应中的输出流。实际上,您还没有按照两位评论者的要求发布客户端代码。这是一个JavaWeb项目。我们没有客户。导出请求通过表单提交从jsp页面发送。上面的代码是如何生成文件的,响应表示HttpServletResponse.Thank。这绝对是一个可能的解决办法。是的,我的笔记本电脑和服务器都在公司的内部网络中。我问我的同事这不是防火墙。实际上,当我试图导出一些数据并生成excel文件时,就会发生这种情况。我没有生成文件并下载,而是将文件数据传输到字节数组中,然后将其写入响应中的输出流。