繁体   English   中英

如何在Rest API中处理多部分表单数据请求

[英]How to handle multiipart form-data request in Rest API

我的移动设备销售商正在向我发送以下文件上传请求。

var client = new RestClient(URL);
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "52606652-         f26a-e809-0de1-97a6030097eb");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001");
request.AddParameter("multipart/form-data; boundary=---011000010111000001101001", "-----011000010111000001101001\r\nContent-   Disposition: form-data; name``=\"attachement\"; filename=\"[object Object]\"\r\nContent-Type: false\r\n\r\n\r\n-----011000010111000001101001--",   ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

请任何人告诉我如何编写代码以使用Rest API c#上传文件。

您可以像这样从httpcontext读取多部分发布的数据:

    [HttpPost]  
    public async Task<HttpResponseMessage> UploadDoc()
    {
        try
        {

            string root = HttpContext.Current.Server.MapPath("~/App_Data");
            var provider = new MultipartFormDataStreamProvider(root);
            if (System.Web.HttpContext.Current.Request.Files.Count > 0)
            {
                foreach (string file in System.Web.HttpContext.Current.Request.Files)
                {
                    byte[] postedFile = null;
                    using (var binaryReader = new BinaryReader(System.Web.HttpContext.Current.Request.Files[file].InputStream))
                    {
                        postedFile = binaryReader.ReadBytes(System.Web.HttpContext.Current.Request.Files[file].ContentLength);

                    }
                    string fileName = System.Web.HttpContext.Current.Request.Files.AllKeys[0];
                }
            }
            await Request.Content.ReadAsMultipartAsync(provider);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM