2014-01-21 69 views
0

大家好,我可以將獲取的路徑中的文件複製到域中,我嘗試如下,但我得到一個異常,因爲uri formats are not supported ..所以有人可以幫助我複製文件將獲取的路徑中的文件複製到域

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); 
    } 
+0

嗨爬完感謝,但我的要求是我從JavaScript調用一個服務,所以這是不行的 – demouser

回答

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. 
} 
+0

我如何檢查文件按你說的,你能不能給我一個樣品 – demouser

+0

@demouser您可以發送uri部分中文件的完整路徑。例如。在這種情況下'temppath'。查看更新。 – Sachin

+0

嗨sachin如果我不能複製,如果不存在? – demouser

相關問題