如何从WebClient.UploadData

时间:2016-06-29 21:56:30

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

第一次发帖!我一直在打破这个特殊情况。我有一个Web应用程序,需要将文件上传到web-api并接收SVG文件(字符串)。

网络应用程序按如下方式上传文件:

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上编译。

1 个答案:

答案 0 :(得分:0)

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

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

<table ng-repeat="questions in que">
        <tr>
           <td>{{questions._any_name}}</td>
           <td></td>
        <tr>
     </table>