本文目錄一覽:
- 1、Java編寫一下圖片下載程序?
- 2、java關於下載圖片。
- 3、java從伺服器下載圖片怎麼講圖片保存到本地的sdcard上
- 4、java中怎麼把當前項目中images文件夾中的圖片下載到本地磁碟中??
- 5、java代碼,裡面有下載圖片的代碼,new File(getClass().getResource(“”).getFile().toString())
- 6、java 圖片下載問題,高手幫忙看看 ( in.read(buf)在一個下載圖片的線程有的時候讀取到這裡就不動了)
Java編寫一下圖片下載程序?
樓上的寫的沒錯,不過感覺太麻煩了,用hutool工具包來寫個方法
HttpUtil.downloadFile(“”, new File(“F://demo4/baidu_logo.png”));
第一個參數為百度logo圖片,第二個為我本地下載位置,下載結果如圖
java關於下載圖片。
URL url = new URL(“圖片地址”);
File outFile = new File(「圖片保存到本地路徑」);
OutputStream os = new FileOutputStream(outFile);
InputStream is = url.openStream();
byte[] buff = new byte[1024];
while(true) {
int readed = is.read(buff);
if(readed == -1) {
break;
}
byte[] temp = new byte[readed];
System.arraycopy(buff, 0, temp, 0, readed);
os.write(temp);
}
is.close();
os.close();
java從伺服器下載圖片怎麼講圖片保存到本地的sdcard上
ublic HttpServletResponse download(String path, HttpServletResponse response) {
try {
// path是指欲下載的文件的路徑。
File file = new File(path);
// 取得文件名。
String filename = file.getName();
// 取得文件的後綴名。
String ext = filename.substring(filename.lastIndexOf(“.”) + 1).toUpperCase();
// 以流的形式下載文件。
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 設置response的Header
response.addHeader(“Content-Disposition”, “attachment;filename=” + new String(filename.getBytes()));
response.addHeader(“Content-Length”, “” + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType(“application/octet-stream”);
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return response;
}
java中怎麼把當前項目中images文件夾中的圖片下載到本地磁碟中??
將項目中images文件夾中文件的絕對路徑作為超鏈接,點擊鏈接就可以下載了。至於下載到本地那個磁碟就是用戶自己選擇了。
java代碼,裡面有下載圖片的代碼,new File(getClass().getResource(“”).getFile().toString())
是放在 /home/image 這個目錄下面, 但是這個路徑是非root用戶的根目錄,可能會出現問題, 所以建議放在 /data/ 這個目錄下面, 在這下面創建一個image目錄存放文件。
java 圖片下載問題,高手幫忙看看 ( in.read(buf)在一個下載圖片的線程有的時候讀取到這裡就不動了)
二進位的,應該使用
byte bb[]=new byte[1024];
int r;
while( (r=in.read(bb))0 ){
fou.write(bb, 0, r);
}
in.close();
fou.close();
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/190331.html