首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RestClient发送IFormFile

RestClient发送IFormFile
EN

Stack Overflow用户
提问于 2018-03-08 14:09:09
回答 1查看 3.3K关注 0票数 2

我正在从我的控制器收到一个文件,

代码语言:javascript
复制
 public async Task<IActionResult> ScanFile(IFormFile request)

以及如何在RestSharp中传递这一点,如下面的AddParameter所示。我尝试设置自己的边界并序列化IFormFile,但没有结果。

代码语言:javascript
复制
var client = new RestClient("https://api_url/requests");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "bearer API_TOKEN");
request.AddHeader("accept", "application/json");
request.AddHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001");
request.AddParameter("multipart/form-data; boundary=---011000010111000001101001", "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"file\"; filename=\"eicar.com\"\r\nContent-Type: text/plain\r\n\r\nX5O!P%@AP[4\\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*\r\n-----011000010111000001101001--", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
EN

回答 1

Stack Overflow用户

发布于 2019-11-29 10:50:38

这对我有用。

从我的控制台应用程序,

代码语言:javascript
复制
var client = new RestClient("http://localhost:30000/api/Factory");
var request = new RestRequest("UploadDocumentBlob", Method.POST) { RequestFormat = DataFormat.Json, AlwaysMultipartFormData = true };
request.AddFile("file", Path.Combine(settings.PdfStorePath, "11rwai4q.pdf"));
var uploadDocumentBlobResponse = client.Post<Response>(request).Data;

对我的api来说

代码语言:javascript
复制
[HttpPost("api/[controller]/[action]")]
public async Task<Response> UploadDocumentBlob(IFormFile file)

这里的关键是,在request.AddFile中,第一个参数必须是"file",而不是任何其他名称。

希望这能帮上忙。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49175120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档