繁体   English   中英

使用RestSharp将文件从MVC控制器上载到Web API

[英]File upload from MVC controller to Web API using RestSharp

我的Web应用程序的一个功能是用户上传markdown文件的能力。 我想将文件从MVC控制器传递到Web API控制器,之后Web API会将markdown文件保存在特定的项目文件夹中。 我想知道是否有可能。 如果是的话,怎么做。

因此,我想到的是让MVC控制器获取HttpPostedFileBase参数,然后使用RestSharp的request.AddFile()将文件发送到Web API控制器。

MVC控制器

[HttpPost]
public ActionResult Upload(HttpPostedFileBase upload)
{
    var client = new RestClient("http://localhost:4000/api/beneficiaries");
    var request = new RestRequest(Method.POST);
    //todo send file to web API
    var response = client.Execute(request);
    return View();
}

这应该有效,即使我没有测试过:

request.AddFile(upload.FileName, upload.InputStream.CopyTo, upload.ContentType);

根据api目标方法,如果您需要使用它发送一些参数,您可能需要:

request.AddFile(upload.FileName, upload.InputStream.CopyTo);
request.AddHeader("Content-Type", "multipart/form-data");

request.AddParameter("filename", upload.FileName, ParameterType.RequestBody);
request.AddParameter("otherParameter", "Something here...", ParameterType.RequestBody);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM