gpt4 book ai didi

c# - 使用Postman二进制方式上传文件到asp.net MVC Controller 收不到文件?

转载 作者:行者123 更新时间:2023-11-30 17:31:12 24 4
gpt4 key购买 nike

在Postman工具中使用Form-data方式上传文件到asp.net MVC Controller 可以正常接收文件,但是使用二进制方式上传文件 Controller Action方法Request.Files无法接收文件,请问哪里错了?

例如, Controller Action :

public class UploadFilesController : Controller
{
// GET: UploadFiles
public ActionResult Index()
{
return View();
}

[HttpPost]
public ActionResult Test()
{
if (Request.Files.Count > 0)
{
var file = Request.Files[0];

return Json("OK! Received file");
}
else
{
return Json("No file Received");
}


}
}

下面是Postman二进制方式上传文件图标:

enter image description here

enter image description here

最佳答案

我认为不可能从 postman 发送图像/文件作为 binary,并在 Controller 操作的 Request.Files 中使其可读。

如果你打开postman控制台(Alt + Ctrl + C or View -> Show Postman Console),你可以看到请求数据,以及响应。

正常方式发送一个文件,使用表单数据,你可以看到请求的主体有很多关于文件的信息:

postman form data post request

使用二进制方式发送文件时,请求体未定义:

postman binary post request

因此,当 Controller 收到请求时,它不知道如何解释这个未定义的数据。我并不是说从原始输入流中提取文件不可能,但是在表单数据中发布了很多数据,没有发布以二进制形式,这有助于 Controller 理解请求。

关于c# - 使用Postman二进制方式上传文件到asp.net MVC Controller 收不到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48322351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com