2017-07-22 72 views
0

嘿im試圖使用ftp和webclient將XML文件上傳到網絡服務器。上傳工作正常,但它將標題添加到XML文件的頂部。 我使用此代碼上傳的文件使用webclient發送上傳xml文件

client.Credentials = new NetworkCredential (ftp_username, ftp_password); 
client.UploadFile (String.Format ("ftp://{0}:{1}/{2}", ftp_host, ftp_port, ftp_path), "STOR", Path.Combine (downloadLocation, "WebPermissions.xml")) 

而且看在我的web服務器的文件時,文件看起來像這樣

--------------8d4d10f462b8a6b 
Content-Disposition: form-data; name="file"; filename="WebPermissions.xml" 
Content-Type: text/xml 

<?xml version="1.0" encoding="utf-8"?> 
<RocketPermissions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
.... 
.... 
</RocketPermissions> 

我一直在尋找了一段時間,並不能似乎找到解決方案。我看到了一個建議,使用UploadDate代替,或使用UploadString並設置內容類型爲text/xml,但嘗試那些我想之前知道它可能與UploadFile

+0

一個網站。該文件上傳它只有 -------------- 8d4d10f462b8a6b 內容處理:表格數據; NAME = 「文件」;文件名=「WebPermissions.xml」 Content-Type:text/xml –

+0

你是否100%確定'client.UploadString(String.Format(「ftp:// {0}:{1}/{2}」),ftp_host ,ftp_port,ftp_path),「STOR」,Path.Combine(downloadLocation,「WebPermissions.xml」))'是你的代碼嗎? _它不會導致你看到的上傳,因爲有效載荷只是** XML文件的路徑而不是內容本身https://msdn.microsoft.com/en-us/library/d0d3595k(v = vs.110).aspx ._你確定你沒有使用'https://msdn.microsoft.com/en-us/library/esst63h0(v = vs.110).aspx'? – mjwills

+0

哦,我的壞讓我編輯,其UploadFile不UploadString,這是我測試的東西 –

回答

0

我固定它使用UploadData代替

client.UploadData (String.Format ("ftp://{0}:{1}/{2}", ftp_host, ftp_port, ftp_path), "STOR", File.ReadAllBytes (Path.Combine (downloadLocation, "WebPermissions.xml")));