HttpContent.ReadAsMultipartAsync оставляет временный файл - PullRequest
0 голосов
/ 05 мая 2018

Я начинаю зацикливаться на этом, что обычно означает, что я упускаю что-то очевидное.

В моем контроллере .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 Ответ

0 голосов
/ 05 мая 2018

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

...