ASP.NET WebApi-Datei-Upload mit GUID und Dateierweiterung

8

Ich kann derzeit eine Datei speichern, die auf einen WebAPI-Controller hochgeladen wird, aber ich möchte die Datei als eine GUID mit der korrekten Dateinamenerweiterung speichern können, damit sie korrekt angezeigt werden kann.

Code:

%Vor%

Ich kann den tatsächlichen Dateinamen des Inhalts anscheinend nicht verstehen. Ich dachte, headers.ContentDisposition.FileName könnte ein Kandidat sein, scheint aber nicht ausgefüllt zu werden.

    
jaffa 28.05.2013, 20:22
quelle

1 Antwort

18

Danke für die obigen Kommentare, die mich in die richtige Richtung wiesen.

Um die endgültige Lösung zu verdeutlichen, habe ich einen MultipartFormDataStreamProvider verwendet, der die Datei automatisch streamt. Der Code ist in einer anderen Frage, die ich hier auf ein anderes Problem geschrieben habe: MultipartFormDataStreamProvider und den aktuellen HttpContext beibehalten

Mein vollständiger Anbietercode ist unten aufgeführt. Der Schlüssel zum Generieren des GUID-Dateinamens besteht darin, die GetLocalFileName-Funktion zu überschreiben und die headers.ContentDisposition-Eigenschaft zu verwenden. Der Provider behandelt das Streaming des Inhalts in Datei.

%Vor%     
jaffa 03.06.2013, 20:33
quelle

Tags und Links