将文件从获取的路径复制到域

时间:2014-01-21 12:28:31

标签: c#

大家可以将获取的路径中的文件复制到域中,我尝试如下但我得到uri formats are not supported的异常..所以有人可以帮我如何复制文件< / p>

 string filePath = "D:\\Folder\\filename.jpg";
 FileInfo fileInfo = new FileInfo(filePath);
 if (fileInfo.Exists)
 {
    path = "http://WWW.somedomain.com";
    string temppath = path + "/Temp" + "/" + fileInfo.Name;
    if (!File.Exists(temppath))
    {
      var uri = new Uri(temppath);
      File.Copy(filePath, uri.AbsoluteUri);
    }

1 个答案:

答案 0 :(得分:1)

您想要检查服务器上是否存在文件。使用File.Exist方法无法实现这一点,因为它不支持URI。这种方法期望相对路径并检查机器上的存在(物理位置)。

在这种情况下,您应该使用WebRequest并从服务器获取响应。如果服务器返回404,那么您的文件在服务器上不存在,或者您可以检查内容长度。

WebRequest request = WebRequest.Create(new Uri(temppath));
request.Method = "HEAD";

WebResponse response = request.GetResponse()

var contentLength = response.ContentLength;

if (contentLength < 0)
{
    // file doesn't exist.
}