2017-07-22 76 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")));