【问题标题】:Accessing image with static url link gives FileNotFoundException - android使用静态 url 链接访问图像会产生 FileNotFoundException - android
【发布时间】:2016-03-23 03:46:17
【问题描述】:

我正在尝试获取具有静态链接的图像并将其设置在 ImageView 下。但是http给了我找不到文件的例外。如果我尝试访问的图像在 url 链接中没有静态,我可以在浏览器中轻松打开相同的图像,并且相同的代码运行良好。有人可以帮助如何获取要下载\获取的静态图片网址吗?我不确定这个问题是否是因为静态。

new DownloadImageTask(mImageView)
                .execute("http://static.die.net/earth/mercator/1600.jpg");



private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;

public DownloadImageTask(ImageView bmImage) {
    this.bmImage = bmImage;
}

protected Bitmap doInBackground(String... urls) {
    String urldisplay = urls[0];
    Bitmap mIcon11 = null;
    try {
        InputStream in = new java.net.URL(urldisplay).openStream();
        mIcon11 = BitmapFactory.decodeStream(in);
    } catch (Exception e) {
        Log.e("Error", e.getMessage() );
        e.printStackTrace();
    }
    return mIcon11;
}

protected void onPostExecute(Bitmap result) {
    bmImage.setImageBitmap(result);
}
}

【问题讨论】:

    标签: android http url


    【解决方案1】:

    它与用户代理有关。它适用于另一个用户代理。 尝试这个。

    protected Bitmap doInBackground(String... urls) {
        String ua = "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19";
        String urldisplay = urls[0];
        Bitmap mIcon11 = null;
        try {
            System.setProperty("http.agent", ua);
            InputStream in = new java.net.URL(urldisplay).openStream();
            mIcon11 = BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return mIcon11;
    }
    

    让我知道你的结果。

    【讨论】:

    • 不错..也许是对这个网站的一种保护..有很多人试图获得这张图片..在谷歌搜索中查看..
    【解决方案2】:

    别担心,它与android无关。我使用相同的代码加载了this :)

    可能他们关闭了子域 static.die.net,die.net 仍在工作。

    【讨论】:

    • static.die.net 正在工作:检查这个 - static.die.net/earth/mercator/1600.jpg。就在我尝试加载 android 时,它因找不到文件异常而失败。这些图片有没有直接的 die.net 链接?
    • 我要说的是图像是问题所在。 wget 在终端中也显示 404 Not Found。所以,它没有特定于android。更新:嗯,对不起,我的错 - 它是用户代理的事情。
    猜你喜欢
    • 2019-05-01
    • 2012-03-13
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2015-03-28
    • 2012-08-23
    • 1970-01-01
    • 2018-11-09
    相关资源
    最近更新 更多