簡體   English   中英

為什么從瀏覽器下載的文件損壞了?

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

我開始在 java 中創建 HTTP 服務器應用程序。 當我嘗試從瀏覽器下載文件時,文件大小增加了 1 個字節。 並且文件沒有打開。

內容長度: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();

我通過將"\n\r"替換為"\r\n"解決了這個問題。 謝謝你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM