HttpContent.ReadAsMultipartAsync 会留下一个临时文件



我开始在这个问题上循环往复,这通常意味着我错过了一些明显的东西。

我的 .NET MVC 控制器中有以下代码:

var provider = new CustomMultipartFileStreamProvider("prefix", GetRepositoryTempFolder());
await request.Content.ReadAsMultipartAsync(provider);

CustomMultipartFileStreamProvider 继承自 MultipartFileStreamProvider,重写 GetLocalFileName 方法,并为给定的 ContentDisposition 标头返回适当的文件名。处理的 HttpContent 通常是一个 PDF 文件和一个小型 JSON 设置组件。

就将部分解析、提取和保存在预期位置而言,一切都非常有效。但是,解析后,我最终会在 C:\Windows\Temp 文件夹中留下一个临时文件。该文件有一个随机生成的名称(例如 zf0hk2h4.ks2(。它的大小和创建日期与ReadAsMultipartAsync解析和保存的PDF部分相同。

我相信 ReadAsMultipartAsync 在解析过程中使用此临时文件并将其保留。还有其他人经历过吗?有什么方法可以防止ReadAsMultipartAsync留下这个临时文件并堵塞Windows临时文件夹吗?

我很抱歉;我错过了一些东西。文件在处理后正在移动。这是一个无效的问题;ReadAsMultipartAsync没有任何问题。

最新更新