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

使用HttpRequestMessage还是Stream上传REST文件?Share

时间:2023-04-11 00:50:05 C#

使用HttpRequestMessage或Stream上传REST文件?在REST客户端中上传文件的更好方法是什么?来自WCFWebAPI文档[WebInvoke(UriTemplate="thumbnail",Method="POST")]publicHttpResponseMessageUploadFile(HttpRequestMessagerequest){来自多个论坛帖子:WCFREST文件上传附加参数[WebGet(UriTemplate="",Method="POST"]publicstringUploadFile(StreamfileContents)我知道第一种方法允许直接从普通的HTML表单发布文件。在我找到的所有论坛帖子中,第二种方法似乎更常见。你什么会推荐吗?为什么?可以从各种语言和平台访问RESTAPI。对于HttpRequestMessage方法,如何使用WCFHttpClient上传文件?使用FormUrlEncodedMediaTypeFormatter)第一种方法“更接近金属”并且更灵活,因为您将处理http请求并自己构建响应。如果您只需要接受来自客户端的流,那么从实现的角度来看,第二个选项更简单(它与第一个方法的作用相同)我不知道您之前的问题答案。为了测试HttpRequestMessage方法,我使用MVC完成了以下操作:}publicActionResultUpload(){varfile=Request.Files[0];varfilename=Request.Form["文件名"];varuri=string.Format("http://yoururl/serviceRoute/{0}",文件名);varclient=newHttpClient();client.DefaultRequestHeaders.Accept.Add(newSystem.Net.Http.Headers.MediaTypeWithQualityHeaderValue("image/pjpeg"));varcontent=newStreamContent(file.InputStream);varresponse=client.PostAsync(uri,content);ViewBag.ServerUri=uri;ViewBag.StatusCode=response.Result.StatusCode.ToString();返回视图();}}索引视图中应该有一个表单用于回发到上传方法。然后,您可以使用HttpClient建立与REST服务的连接。以上就是C#学习教程:UseHttpRequestMessageorStreamtouploadRESTfiles?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: