0

我开始在这个问题上胡思乱想,这通常意味着我遗漏了一些明显的东西。

我的 .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 临时文件夹?

4

1 回答 1

0

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

于 2018-05-05T03:37:42.997 回答