2012-07-17 89 views
0

**好傢伙,我在C#中新,我不知道該怎麼做了下面的代碼C#進行比較的URL文件與本地文件

我需要做的是從驗證30個文件代碼服務器(URL) 和來自客戶端(文件夾)的30個文件

然後逐字節地比較它們, ...你可以幫我嗎?我用這個代碼,但沒有工作... URI不支持錯誤**

我的代碼是在這裏:http://codeupload.com/6192

如果您有任何其他的好辦法,可以幫助我,請張貼在這裏

+0

什麼錯誤你得到,特別是?不支持URI格式?在代碼中放置一個斷點,並查看您傳遞的URL;我的猜測是它看起來並不像你認爲的那樣。 – 2012-07-17 21:35:02

回答

0

對它們進行比較逐字節你已經下載的對象。 如果您不想在不從服務器下載文件的情況下進行比較,則必須使用服務器端腳本。例如,創建一個簡單的php腳本,爲一個文件(url中提供的文件名)創建MD5哈希值,下載MD5文件並將其與本地文件的MD5哈希值進行比較。如果他們不同下載真實文件。

0

您應該使用WebClient.DownloadData方法(http://msdn.microsoft.com/zh-cn/library/ms144188.aspx)下載每個文件。

那麼你會得到一個字節數組,你將與你的本地文件的字節數組進行比較(使用File.ReadAllBytes() - http://msdn.microsoft.com/en-us/library/system.io.file.readallbytes.aspx

+0

我不能使用其他方法嗎?或者它是唯一的一個? – 2012-07-17 21:53:44

+0

你可以使用其他方法,但我不認爲你可以使用其他方法,這將使你有更少的代碼...所以這些是我建議你使用的方法(換句話說 - 不要使用流...我不認爲你需要它在你的情況下) – eyossi 2012-07-17 21:54:55

+0

嗯,你可以讓我快速的代碼,將文件複製到臨時文件夾,然後檢查文件字節是否等於文件夾中的文件,然後如果文件從文件夾被改變複製一個從臨時文件夾到文件夾,如果不從temp文件夾刪除文件 – 2012-07-17 21:56:11

相關問題