第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在java中下載圖像

在java中下載圖像

ITMISS 2022-05-21 20:50:41
我必須從 nasa 網(wǎng)站下載一張圖片。問題是,我的代碼有時(shí)可以工作,成功下載圖像,而有時(shí)只保存 186B(不知道為什么是 186)。問題肯定與美國國家航空航天局 (nasa) 保存這些照片的方式有關(guān)。例如,來自該鏈接 https://mars.jpl.nasa.gov/msl-raw-images/msss/00001/mcam/0001ML0000001000I1_DXXX.jpg 的圖像已成功保存,而來自該鏈接https://mars.nasa .gov/mer/gallery/all/2/f/001/2F126468064EDN0000P1001L0M1-BR.JPG失敗。這是我的代碼public static void saveImage(String imageUrl, String destinationFile){    URL url;    try {        url = new URL(imageUrl);        System.out.println(url);        InputStream is = url.openStream();        OutputStream os = new FileOutputStream(destinationFile);        byte[] b = new byte[2048];        int length;        while ((length = is.read(b)) != -1) {            os.write(b, 0, length);        }        is.close();        os.close();    } catch (MalformedURLException e) {        // TODO Auto-generated catch block        e.printStackTrace();    } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();    }}有人有想法,為什么不起作用?public boolean downloadPhotosSol(int i) throws JSONException, IOException {    String url0 =  "https://api.nasa.gov/mars-photos/api/v1/rovers/spirit/photos?sol=" + this.chosenMarsDate + "&camera=" + this.chosenCamera + "&page=" + i + "&api_key=###";    JSONObject json = JsonReader.readJsonFromUrl(url0);    if(json.getJSONArray("photos").length() == 0) return true;    String workspace = new File(".").getCanonicalPath();    String pathToFolder = workspace+File.separator+this.getManifest().getName() + this.chosenMarsDate + this.chosenCamera +"Strona"+i;    new File(pathToFolder).mkdirs();    for(int j = 0;j<json.getJSONArray("photos").length();j++) {        String url = ((JSONObject) json.getJSONArray("photos").get(j)).getString("img_src");        SaveImage.saveImage(url, pathToFolder+File.separator+"img"+j+".jpg");    }    return false;}
查看完整描述

2 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

當(dāng)你得到一個(gè) 186 字節(jié)的文件時(shí),用文本編輯器打開它,看看里面有什么。它可能包含 HTML 格式的 HTTP 錯(cuò)誤消息。相反,如果您看到圖像文件的前 186 個(gè)字節(jié),則說明您的程序有問題。

編輯:從您的評論看來,您正在收到一個(gè) HTTP 301 響應(yīng),這是一個(gè)重定向到另一個(gè)位置的響應(yīng)。Web 瀏覽器會在您不注意的情況下自動處理此問題。但是,您的 Java 程序未遵循重定向到新位置。您需要使用處理重定向的 HTTP Java 庫。


查看完整回答
反對 回復(fù) 2022-05-21
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

最好和最簡單的方法:


try(InputStream in = new URL("http://example.com/image.jpg").openStream()){

    Files.copy(in, Paths.get("C:/File/To/Save/To/image.jpg"));

}


查看完整回答
反對 回復(fù) 2022-05-21
  • 2 回答
  • 0 關(guān)注
  • 94 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號