作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在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二进制方式上传文件图标:
最佳答案
我认为不可能从 postman 发送图像/文件作为 binary
,并在 Controller 操作的 Request.Files
中使其可读。
如果你打开postman控制台(Alt + Ctrl + C or View -> Show Postman Console),你可以看到请求数据,以及响应。
以正常方式发送一个文件,使用表单数据,你可以看到请求的主体有很多关于文件的信息:
使用二进制方式发送文件时,请求体未定义:
因此,当 Controller 收到请求时,它不知道如何解释这个未定义的数据。我并不是说从原始输入流中提取文件不可能,但是在表单数据中发布了很多数据,没有发布以二进制形式,这有助于 Controller 理解请求。
关于c# - 使用Postman二进制方式上传文件到asp.net MVC Controller 收不到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48322351/
我是一名优秀的程序员,十分优秀!