当前位置: 首页 > 编程语言 > C#

c#setuploadFile内容类型共享

时间:2023-04-10 11:10:57 C#

c#setuploadFile内容类型客户端代码字符串url="http://testserver/testapi";字符串文件路径=@"C:test.csv";使用(WebClientwc=newWebClient()){wc.Headers.Add("Content-Type","text/plain");byte[]responseArray=wc.UploadFile(url,filePath);}服务器端代码stringsavePath=testSavePath;foreach(Request.Files.AllKeys中的字符串f){HttpPostedFileBasefile=Request.Files[f];file.SaveAs(保存路径);我在这一行上得到异常byte[]responseArray=wc.UploadFile(url,filePath);byte[]responseArray=wc.UploadFile(url,filePath);奇怪的是,当我看到Request时,我看到了ContentType="multipart/form-data;boundary=--------------------8d006b7c2a5452c"。查看UploadFile的文档,发现当Content-typeheader以multipart开头时。Content-type标头以multipart开头。会抛出一个WebException以multipart开头的Content-typeheader。我的问题是为什么将contentType设置为multipart,如何阻止它这样做?您的客户端代码看起来像。异常可能来自服务器端。但是你很难判断,因为你没有共享异常。请做,你会得到更好的答案。对于多部分内容类型:WebClient.UploadFile使用Content-Type标头的值作为文件的内容类型(如果未设置则默认为application/octet-stream),而不是整个HTTP请求。实际的HTTP请求总是(如您所见)multipart/form-data(根据HTTP规范上传文件),您不能(也不应该)更改它。文档中的注释指的是实际文件的内容类型。这意味着您不能要求WebClient自行上传一个多部分文件(它将被包装在另一个多部分HTTP信封中)。以上就是C#学习教程:c#设置uploadFile内容类型分享所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: