检查服务器上是否存在图像文件(Android)

The*_*ter 2 java url android file

我的服务器上有一个包含图像的文件目录。图像的名称与项目表相关联。项目 ID#1,将有一个对应的图像“1.png”。

并非所有项目都有图像,因此如果应用程序检查,它会在其中一些项目上找不到任何内容。在这种情况下,我想要一个if检查以显示默认图像。

我的问题:只有一个URL可用的,我怎样才能检查 url 是否指向图像,或者它是否指向空/空白/空?

fre*_*siu 5

我建议询问图像请求的负责人,因为它更快。

非毕加索:

HttpClient client= new DefaultHttpClient();
HttpHead headMethod = new HttpHead(urlToImage);
HttpResponse response = client.execute(headMethod);
if(response.getStatusLine().getStatusCode== HttpStatus.SC_NOT_FOUND) {
    // Image does not exist, show a placeholder or something
} else {
  // load image into the view.
}
Run Code Online (Sandbox Code Playgroud)

Picasso :(与头部版本无关,但这是一个简单的替代方法来处理它,还可以查看毕加索可以用来微调成功/错误的回调)

Picasso.with(context).load(urlToImage).into(imageView).placeholder(R.drawable.user_placeholder).error(R.drawable.user_placeholder_error);
Run Code Online (Sandbox Code Playgroud)

参考:

来自 Android SDK 参考的 Apache HttpHead

来自 Android SDK 参考的 Apache HttpStatus

方形毕加索