Я начинаю зацикливаться на этом, что обычно означает, что я упускаю что-то очевидное.
В моем контроллере .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?