Heim > Backend-Entwicklung > C++ > Wie extrahiere ich Dateibytes effizient aus einem Multipart-/Formulardaten-POST-Request-Stream?

Wie extrahiere ich Dateibytes effizient aus einem Multipart-/Formulardaten-POST-Request-Stream?

Mary-Kate Olsen
Freigeben: 2025-01-01 01:23:08
Original
169 Leute haben es durchsucht

How to Efficiently Extract File Bytes from a Multipart/Form-Data POST Request Stream?

Multipart/Form-Data POST und File Input Streaming

Frage:

Beim Posten Wie können die Dateibytes effizient aus dem Anforderungsstream extrahiert werden? verarbeiten?

Antwort:

Um Dateibytes aus einem mehrteiligen/Formulardaten-POST-Anfragestrom zu extrahieren, ist ein umfassender Ansatz unter Verwendung öffentlicher Microsoft-APIs verfügbar.

Voraussetzungen:

  • System.Net.Http.dll (in .NET 4.5 oder über NuGet für .NET 4 enthalten)
  • System.Net.Http.Formatting.dll (über NuGet für .NET 4.5 oder .NET 4)

Code Implementierung:

public static async Task ParseFiles(
    Stream data, string contentType, Action<string, Stream> fileProcessor)
{
    // Parse multipart request content
    var streamContent = new StreamContent(data);
    streamContent.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType);
    var provider = await streamContent.ReadAsMultipartAsync();

    // Iterate through file parts
    foreach (var httpContent in provider.Contents)
    {
        var fileName = httpContent.Headers.ContentDisposition.FileName;
        if (string.IsNullOrWhiteSpace(fileName)) continue;

        using (Stream fileContents = await httpContent.ReadAsStreamAsync())
        {
            // Process file bytes
            fileProcessor(fileName, fileContents);
        }
    }
}
Nach dem Login kopieren

Beispielverwendung:

Für eine WCF-REST-Methode „OperationContract“ können Sie die Dateiverarbeitung implementieren:

public void Upload(Stream data)
{
    MultipartParser.ParseFiles(
           data, 
           WebOperationContext.Current.IncomingRequest.ContentType, 
           MyProcessMethod);
}
Nach dem Login kopieren

Durch die Verwendung dieses Ansatzes können Entwickler mühelos Dateibytes aus mehrteiligen/Formulardaten-POST-Anfragen für die anschließende Verarbeitung abrufen und Lagerung.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Dateibytes effizient aus einem Multipart-/Formulardaten-POST-Request-Stream?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage