【发布时间】:2020-07-10 09:22:59
【问题描述】:
是否可以在发送 POST 请求后立即向控制器发送 POST 请求并读取 HttpContext.Request.Body 流(例如,如果文件为 10GB 大)?如果我有这样的表格:
<form method="post" enctype="multipart/form-data">
还有这样的控制器:
public class FileController : ControllerBase
{
[HttpPost("[action]")]
public async Task Upload()
{
var stream = HttpContext.Request.Body;
}
}
如果我提交一个文件,它会先上传文件(正如我在浏览器中看到的那样),然后它会点击控制器,整个文件保存在一个临时文件中,如您在此处看到的:@987654321 @
我可以验证它是否将上传的文件保存到磁盘,这不适用于我的应用程序,因为我没有无限存储空间。我的最终目标是将文件上传到 FTP,所以请求是这样的:
client -> service -> FTP
我做错了什么?
【问题讨论】:
-
查看stackoverflow.com/questions/36437282/…。似乎您可以阅读 MultipartSection 流并将内容定向到 FTP 服务。
-
@KirylZ 我实际上已经在使用 MultipartReader 等,但问题是在上传完成之前代码没有在我的控制器中被命中。
-
你的意思是在服务器端创建临时文件之前?您是否尝试过删除默认活页夹?
-
@KirylZ 抱歉回复晚了。那确实奏效了。如果你想回答,我可以选择它作为答案,请继续!
标签: c# asp.net-core .net-core