gpt4 book ai didi

java - Android FileNotFound 异常 - 无法从没有文件格式的图像 URL 获取 InputStream

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:03 25 4
gpt4 key购买 nike

标题很容易理解。

以下代码...:

    URL imageUrl = new URL(url);
try {
HttpURLConnection conn= (HttpURLConnection)imageUrl.openConnection();
conn.setDoInput(true);
conn.connect();
int length = conn.getContentLength();
InputStream is = conn.getInputStream();
return BitmapFactory.decodeStream(is);
} catch (IOException e) {
e.printStackTrace();
}

如果 url 不包含文件格式,将失败。例如,一些由 google 托管的图像将显示图像但没有文件格式(.png、.jpg 等)作为 url 的一部分。

因此,url 连接的内容类型 header 返回“text/html”。我相信这就是问题所在。

我已经尝试设置一个新的内容类型 header ,但这似乎没有任何改变。

有人知道解决方法吗?

谢谢。

最佳答案

我遇到了问题,我记得四处搜索,这是我的最终解决方案

        try {
URL url = new URL(imageUrl);
HttpGet httpRequest = null;

httpRequest = new HttpGet(url.toURI());

HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);

HttpEntity entity = response.getEntity();
BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity);
InputStream input = bufHttpEntity.getContent();

Bitmap bitmap = BitmapFactory.decodeStream(input);

ImageActivity.this.i.setImageBitmap(bitmap);
ImageActivity.this.i.refreshDrawableState();
input.close();

} catch (MalformedURLException e) {
Log.e("ImageActivity", "bad url", e);
} catch (Exception e) {
Log.e("ImageActivity", "io error", e);
}

关于java - Android FileNotFound 异常 - 无法从没有文件格式的图像 URL 获取 InputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4218807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com