检查另一个子域中的文件
本文关键字:文件 另一个 检查 | 更新日期: 2023-09-27 18:03:40
我想检查另一个子域的子域中的文件,文件在sub1中,我想检查这个文件在sub2中。
地址文件在sub1: sub1.mysite.com/img/10.jpg和
Server.MapPath(@"~/img/10.jpg");
我在sub2中检查了这个文件,所以我使用以下代码:这里的一些代码是
if (System.IO.File.Exists(Server.MapPath(@"~/img/10.jpg")))
{
...
}
if (System.IO.File.Exists("http://sub1.mysite.com/img/10.jpg"))
{
...
}
但它不起作用。
您必须使用HttpWebRequest通过HTTP访问它。您可以创建一个实用程序方法来完成此操作,例如:
public static bool CheckExists(string url)
{
Uri uri = new Uri(url);
if (uri.IsFile) // File is local
return System.IO.File.Exists(uri.LocalPath);
try
{
HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
request.Method = "HEAD"; // No need to download the whole thing
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
return (response.StatusCode == HttpStatusCode.OK); // Return true if the file exists
}
catch
{
return false; // URL does not exist
}
}
然后命名为:
if(CheckExists("http://sub1.mysite.com/img/10.jpg"))
{
...
}
使用HttpWebRequest发送资源请求并检查响应
类似:
bool fileExists = false;
try
{
HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create("http://sub1.mysite.com/img/10.jpg");
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
fileExists = (response.StatusCode == HttpStatusCode.OK);
}
}
catch
{
}