我们已将图像上传到CDN,并从那里请求图像。我的问题是,我需要编写一个图像处理程序来检查所请求的图像是否可用于CDN,并且请求因未找到图像或其他一些错误(如CDN向下)而失败,我必须将该图像请求重定向到本地图像地点。我怎么能这样做?
例如,如果是图像请求,
“http://cdn.images.net/content/images/image1.png”此请求失败,然后我应该将该请求重定向到“http://www.example.com/content/images/images1。 PNG”。
我如何使用图像处理程序来处理它?</ p>
此致 KARTHIK
答案 0 :(得分:0)
您可以为此目的使用HTTP HEAD请求。通过这样做,您将只获得HTTP标头作为响应。这是一个简单的例子:
public bool ImageExists(string imageUri)
{
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(imageUri);
request.Method = "HEAD";
try
{
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
return true;
else
return false;
}
catch
{
return false;
}
}
......以下是它的名称:
if (ImageExists(firstUri)
{
// Download from http://cdn.images.net...
}
else
{
// Download from http://www.example.com...
}
根据您在远程服务器上处理请求的方式,检查响应的mime类型是否为 image / png 也可能很有用。