我需要实现尽可能便宜的上传和下载文件。对于我的测试,我使用带有IIS 5的Windows XP和控制台C#程序。

我在IIS中创建了一个虚拟目录,并在程序中执行以下代码:

System.Net.WebClient webClient = new System.Net.WebClient();
webClient.Credentials = System.Net.CredentialCache.DefaultCredentials;
webClient.UploadFile( "http://localhost/Exchange/file.jpg", "PUT", localPathToMyFile );


这些行成功执行,并且文件出现在用于将内容提供给虚拟目录的目录中。问题是文件内容周围有多余的数据:

-----------------------8ccfabf2a995855
Content-Disposition: form-data; name="file"; filename="file.jpg"
Content-Type: application/octet-stream
//file contents goes here
-----------------------8ccfabf2a995855


这些额外的数据从何而来?我应该怎么做才能使其不显示,但文件是按原样上传的?

最佳答案

多余的数据来自HTTP协议,请参见here。尝试将方法更改为“ POST”,并创建一个简单的ASP.net网页来接收和保存文件。像示例here

关于c# - 使用HTTP PUT上传的文件的开头和结尾都有额外的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3332495/

10-17 01:14
查看更多