簡體   English   中英

從url下載圖像時會添加換行符

[英]New line character is appended when a image is downloaded from url

我們正在嘗試從網址https://test.com/images/123.jpg下載圖像文件

URL url = new URL("https://test.com/images/123.jpg");

InputStream inputStream = url.openStream();
byte[] buffer = new byte[2048];
pResponse.setContentType("application/octet-stream");
pResponse.setHeader("Content-Disposition","attachment;filename=\""123.jpg\"");

while ((inputStream.read(buffer)) != -1) {
    pResponse.getOutputStream().write(buffer);
}
pResponse.getOutputStream().flush();
pResponse.getOutputStream().close();

inputStream.close();

下載的文件已損壞。 單擊此處獲取屏幕截圖。 當我嘗試使用Notepad ++打開文件時,在文件的開頭添加了空行。

通過刪除文件開頭的空行來保存文件時,我們能夠成功打開圖像。

當我更改代碼並且未將字節寫入pResponse.getOutputStream()時,下載的圖像將顯示為空行。

因此,我們如何刪除該空行或將輸出流重置為空

如果我錯了請指正我

問候,

約翰

我不知道為什么會添加空行,但是當嘗試創建下載文件的相同場景時,我使用了此代碼,並且工作正常:

URL url = new URL("http://localhost:8080/HTMLCS/Images/OCR.PNG");
        BufferedImage img = ImageIO.read(url);
        File file = new File("C:\\Users\\username\\Desktop\\RegressionTests\\OCR.png");
        ImageIO.write(img, "png", file);

它可能對您沒有幫助,但您應該嘗試一下。
如果我無法正確理解您的問題,請告訴我。

暫無
暫無

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

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