Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 简单图像文件发布到Web Api_C#_Asp.net_Http Post_Asp.net Web Api - Fatal编程技术网

C# 简单图像文件发布到Web Api

C# 简单图像文件发布到Web Api,c#,asp.net,http-post,asp.net-web-api,C#,Asp.net,Http Post,Asp.net Web Api,我一直在阅读有关在我的Web Api中构建一个操作方法以允许发布图像的内容,这些图像将保存在服务器上,并通过字段imageURL与联系人对象相关 我在网上找到了一些关于如何设置的例子,我想对它们进行测试。我目前有: public Task<HttpResponseMessage> PostFile() { HttpRequestMessage request = this.Request; if (!request.Content.IsMimeMultipart

我一直在阅读有关在我的Web Api中构建一个操作方法以允许发布图像的内容,这些图像将保存在服务器上,并通过字段imageURL与联系人对象相关

我在网上找到了一些关于如何设置的例子,我想对它们进行测试。我目前有:

public Task<HttpResponseMessage> PostFile() 
{ 
    HttpRequestMessage request = this.Request; 
    if (!request.Content.IsMimeMultipartContent()) 
    { 
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); 
    } 

    string root = System.Web.HttpContext.Current.Server.MapPath("~/Content/images"); 
    var provider = new MultipartFormDataStreamProvider(root); 

    var task = request.Content.ReadAsMultipartAsync(provider). 
        ContinueWith<HttpResponseMessage>(o => 
    { 

        string file1 = provider.BodyPartFileNames.First().Value;
        //Use file name to update ImageURL of contact

        return new HttpResponseMessage() 
        { 
            Content = new StringContent("File uploaded.") 
        }; 
    } 
    ); 
    return task; 
}
在我了解流程的同时,我想对其进行适当的测试

这个API方法的客户端调用示例是什么,在这里我可以将contactid作为头包含在内

我需要正确地理解这一点来测试这个代码示例,这样我才能开始更多地理解这一点,但我对这一领域还很陌生。我有一种鸡和蛋的场景,我对发布和接收图像知之甚少,需要一个起点


谢谢。

您可以使用一个小型MVC或ASP应用程序,您只需要一个页面,就可以使用一些JS插件将文件发布到控制器。
插件:或。最后一个更容易集成。这两个插件都支持发送附加数据

如果你熟悉Java/Android,你可以使用Android Studio创建一个可以将文件上传到Web API的客户端应用程序。不幸的是,我对Java/Android不太熟悉。我想这里有一些Windows Phone应用程序的示例,谢谢,我来看看!如果它们是拖放式的,那么对该页面的API POST调用会是什么样子?请参见上文。我没有标记注释。您可以使用DevTools检查请求负载,然后在Chrome上按F12,然后单击网络选项卡。然后按下请求的按钮,您将看到与此类似的内容。MultipartFormDataStreamProvider类将处理该文件并解析其他表单数据字段。上传完成后,您可以访问provider.FormData和provider.FileData以获取序列化字段并访问文件。