使用HttpContext请求对象接收文件是否有效/安全?

问题描述 投票:0回答:1

所以我从chrome得到同样的错误每个人得到的不允许相同的起源。我正在运行angular-4.x作为localhost:4200。我也运行iss localhost:##### 5。所以我做了一个cors政策并启用了它。在调试时,我的IFormfile参数一直显示为null:

public async Task<IActionResult> Picload(IFormFile file)//---always null

所以这很奇怪,因为当我检查HttpContext进行进一步挖掘时,我发现了我的图像来自于角度:

  var file =  _accessor.HttpContext.Request.Form.Files[0];

访问者通过启动使用单例并在Controller Constructor中注入,因此这种安全的安全性和高效性。我正在检查文件扩展名。我觉得我终于打败了铬,但不知道我做这个的其他东西。

c# asp.net cors asp.net-core-2.0 asp.net-core-webapi
1个回答
0
投票

使用HttpContext.Request.Form.Files[0]可以正常工作,因为它只是访问POST请求字段的另一种方式(通常你不应该在ASP.Net/WebAPI代码中这样做)

笔记

  • 深入到像qazxsw poi这样的较低级别的对象会失去采取行动来获取参数的好处(如果你必须模拟请求,单元测试要困难得多)。
  • action的参数的null值表示客户端代码的行为不符合您的需要 - 它可能会从具有不同名称的控件发送文件。理解它为什么会发生并修复问题(即你可能在操作中使用错误的参数名称)而不是试图破解它会好得多。
© www.soinside.com 2019 - 2024. All rights reserved.