小编Use*_*710的帖子

将文件以及一些参数发布到 web api

我有 Web api 控制器上传控制器,它具有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);
Run Code Online (Sandbox Code Playgroud)

网络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 …
Run Code Online (Sandbox Code Playgroud)

c# json restsharp asp.net-web-api

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

asp.net-web-api ×1

c# ×1

json ×1

restsharp ×1