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). Он имеет тот же размер и дату создания, что и часть PDF, проанализированная и сохраненная ReadAsMultipartAsync.

Я полагаю, что ReadAsMultipartAsync использует этот временный файл во время анализа и оставляет его позади. Кто-нибудь еще испытывал это? В любом случае я могу помешать ReadAsMultipartAsync оставить этот временный файл и засорить временную папку Windows?

1 ответ

Мои извенения; Я что-то упустил. Файл был перемещен после обработки. Это неверный вопрос; В ReadAsMultipartAsync нет ничего плохого.

Другие вопросы по тегам