我一直在阅读我在Web Api中构建一个动作方法,以允许发布图像,这些图像将通过字段imageURL
保存在服务器上并与Contact对象相关。
我在网上找到了一些如何设置它的例子,我想测试它们。我目前有:
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;
}
来自How To Accept a File POST,虽然我理解我想要正确测试它的流程。
客户端调用的示例是什么样的API方法,我可以将contactid作为标题包含在内?
我需要正确理解这个代码示例,以便我可以更多地了解这一点,但我对这个领域并不熟悉。我有一种鸡蛋和鸡蛋的场景,我对发布和接收图像知之甚少,需要一个起点。
感谢。
答案 0 :(得分:0)
您可以使用小型MVC或ASP应用程序(您只需要一个页面),您可以使用某些JS插件将文件发布到控制器。 插件:jQueryFileUpload或DropzoneJS。最后一个更容易集成。这两个插件都支持发送其他数据。