


Wie extrahiere ich Dateibytes aus einem Multipart/Form-Data-POST-Stream in WCF REST?
Jan 01, 2025 am 02:45 AMSo extrahieren Sie Dateibytes aus einem Multipart-/Formulardaten-POST-Stream in WCF REST
Wenn Sie eine Datei in einen WCF REST POSTEN Wenn ein Dienst über eine Multipart-/Formulardatenanforderung ausgeführt wird, enthält der resultierende Stream eine Folge von Grenzen, Headern und Dateibytes. Das Extrahieren der Dateibytes aus diesem Stream kann eine Herausforderung sein.
Lösung: Verwendung der öffentlichen API von Microsoft
Microsoft stellt eine Reihe öffentlicher APIs bereit, die diesen Prozess vereinfachen:
- System.Net.Http.dll (enthalten in .NET 4.5 oder über NuGet für .NET 4)
- System.Net.Http.Formatting.dll (über NuGet für .NET 4.5 und .NET 4)
Implementierung:
Dieser Codeausschnitt zeigt, wie man damit Dateibytes extrahiert APIs:
using System.Net.Http; using System.Net.Http.Formatting; using System.Threading.Tasks; public static async Task ParseFiles(Stream data, string contentType, Action<string, Stream> fileProcessor) { var streamContent = new StreamContent(data); streamContent.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType); var provider = await streamContent.ReadAsMultipartAsync(); foreach (var httpContent in provider.Contents) { var fileName = httpContent.Headers.ContentDisposition.FileName; if (string.IsNullOrWhiteSpace(fileName)) continue; using (Stream fileContents = await httpContent.ReadAsStreamAsync()) { fileProcessor(fileName, fileContents); } } }
Beispielverwendung:
Wenn Sie eine WCF-REST-Methode haben, können Sie diese als solche implementieren:
[OperationContract] [WebInvoke(Method = WebRequestMethods.Http.Post, UriTemplate = "/Upload")] void Upload(Stream data) { MultipartParser.ParseFiles( data, WebOperationContext.Current.IncomingRequest.ContentType, MyProcessMethod); }
Dateiverarbeitung:
In der MyProcessMethod können Sie die auszuführenden Aktionen angeben mit den extrahierten Dateibytes, z. B. durch Schreiben auf die Festplatte.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Dateibytes aus einem Multipart/Form-Data-POST-Stream in WCF REST?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?
