[英]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.