简体   繁体   English

为什么从浏览器下载的文件损坏了?

[英]Why the files downloaded from browser is corrupted?

I started creating a HTTP server application in java.我开始在 java 中创建 HTTP 服务器应用程序。 when i tried to download a file from browser, the file size is incresed by 1 byte.当我尝试从浏览器下载文件时,文件大小增加了 1 个字节。 and the file is not openning.并且文件没有打开。

content-length: 12345 original size: 12345 downloaded size: 12346内容长度:12345 原始大小:12345 下载大小:12346

                        ResHead resHead = new ResHead(StatusCode.OK);

                        String responseHeader = resHead
                                                .addContentTypeFromFile(file.getName())
                                                .addContentLength(file.length())
                                                .getResponseHeader();

                        os.write(responseHeader.getBytes());


                        FileInputStream fileInputStream = new FileInputStream(file);

                        BufferedInputStream in = 
                            new BufferedInputStream(fileInputStream);

                            OutputStream out = new BufferedOutputStream(os); // for writing

                        System.out.println(file.length());
                        byte[] buffer = new byte[1024 * 50];
                        int len = 0;
                        while ((len = in.read(buffer)) >= 0) {
                                out.write(buffer, 0, len);
                        }
                        fileInputStream.close();
                        os.flush();

I solved this problem by replacing "\n\r" to "\r\n" .我通过将"\n\r"替换为"\r\n"解决了这个问题。 Thank you.谢谢你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM