2012-10-04 39 views
0

我正在尋找保存圖像從給定的網址到指定的文件名與Java磁盤上的指定位置。我被告知要轉換爲一個字節數組然後保存。對於Java而言,我現在感覺完全迷失了。保存圖片或文件的URL

我想我會通過打開一個到URL的連接開始:

`String img_url = "some img url"; 
URL url = new URL(img_url); 
URLConnection url_c = url.openConnection();` 

我在哪裏何去何從?

編輯: 我發現這個實現應該保存內容,不管類型。所以如果URL是一個圖像應該保存,或者如果URL是一個.doc或.pdf它應該保存它。

+1

這可能爲你工作 http://stackoverflow.com/questions/10702484/download-image-from-web-url-in-java – a52

回答

1
File direct = new File(Environment.getExternalStorageDirectory() + "/urfoldername/"); 
if(!direct.exists()) 
       { 
        direct.mkdir(); //directory is created; 

       } 
file = new File("/sdcard/urfoldername/"+fileName); 
InputStream input = new BufferedInputStream(url.openStream()); 
OutputStream output = new FileOutputStream(file); 
byte data[] = new byte[1024]; 
     while ((count = input.read(data)) != -1) 
         { 
       total += count; 
       output.write(data, 0, count); 
       } 
       output.flush(); 
       output.close(); 
       input.close();     
+0

的URLConnection連接= url.openConnection(); \t \t connection.connect(); connection.getHeaderField(「content-disposition」) – Raghunandan

+0

您可以使用它來獲取標題信息。 Pattern pc = Pattern.compile(「=([^;] *)」); //每個內容都被分隔; delimeter \t \t Matcher matcher = pc.matcher(connection.getHeaderField(「content-disposition」)); \t \t如果(matcher.find()) \t \t { \t \t \t文件名= matcher.group(1); //獲取文件名。假設url以filename.type結尾 \t \t} – Raghunandan