【问题标题】:How to read data from WebClient.UploadData如何从 WebClient.UploadData 读取数据
【发布时间】:2016-06-29 21:56:29
【问题描述】:

第一次发帖!我一直在为这个特殊的案例而伤脑筋。我有一个 Web 应用程序,它需要将文件上传到 web-api 并接收一个 SVG 文件(在字符串中)。

web-app 上传文件如下:

using (var client = new WebClient())
            {
                var response = client.UploadFile(apiUrl, FileIGotEarlierInMyCode);

                ViewBag.MessageTest = response.ToString();
            }

上述方法可行,但随后我们进入 API 部分: 如何访问上传的文件?伪代码:

public string Post([FromBody]File f)
        {
            File uploadedFile = f;

            String svgString = ConvertDataToSVG(uploadedFile);
            return s;
        }

换句话说:我如何将 XML 文件上传/发送到我的 Web-api,在那里使用/操作它并将其他数据发回?

提前致谢! 尼克

PS:我试过这个答案: Accessing the exact data sent using WebClient.UploadData on the server 但是我的代码没有在 Request.InputStream 上编译。

【问题讨论】:

    标签: c# asp.net-web-api webclient webclient.uploaddata


    【解决方案1】:

    Request.InputStream 不适合你的原因是 Request 属性可以引用不同类型的 Request 对象,这取决于 ASP.NET 的类型您正在开发的解决方案。有:

    您正在使用 Web API,所以是 HttpRequestMessage。以下是使用此类读取原始请求字节的方法:

    var data = Request.Content.ReadAsByteArrayAsync().Result;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-07
      • 2012-03-09
      • 2011-01-26
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多