【发布时间】:2016-06-14 07:18:09
【问题描述】:
我有 Web api 控制器 Uploads Controller,它有 PostUpload 方法将数据存储到数据库。
现在我正在尝试将文件和一些参数发布到该 Web api,但所有尝试都失败,例如通过数组列表、json 对象传递,我们不能将文件和参数发布到 Web api?
var request = new RestRequest("Uploads", Method.POST);
request.RequestFormat = DataFormat.Json;
request.AddHeader("Content-Type", "application/json");
request.AddFile("filename", Server.MapPath("/Images/137549014628194.R6MyHlYrIfIo3BWPIytG_height640.png"), "image/png");
request.AddFile("filename", Server.MapPath("/Images/137549014628194.R6MyHlYrIfIo3BWPIytG_height640.png"), "image/png");
request.AddFile("filename", Server.MapPath("/Images/137549014628194.R6MyHlYrIfIo3BWPIytG_height640.png"), "image/png");
request.AddParameter("participantsId", 2);
request.AddParameter("taskId", 77);
request.AddParameter("EnteredAnswerOptionId", 235);
IRestResponse response = createClient().Execute(request);
web api 方法:
[HttpPost]
public string PostUpload(int? participantsId, int? taskId, int? EnteredAnswerOptionId)
{
var file = HttpContext.Current.Request.Files.Count > 0 ?
HttpContext.Current.Request.Files[0] : null;
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(HttpContext.Current.Server.MapPath("~/uploads"), fileName);
file.SaveAs(path);
}
return "/uploads/" + file.FileName;
}
但它给出的错误如下:
ExceptionMessage":"没有 MediaTypeFormatter 可用于从具有媒体类型的内容中读取类型为“xxxx”的对象 '多部分/表单数据
我需要将文件和参数发布到我的 api。
使用 restsharp 发送数据
【问题讨论】:
标签: c# json asp.net-web-api restsharp