Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengekstrak Bait Fail daripada POST Berbilang Bahagian/Data dalam Perkhidmatan WCF REST?

Bagaimana untuk Mengekstrak Bait Fail daripada POST Berbilang Bahagian/Data dalam Perkhidmatan WCF REST?

Susan Sarandon
Lepaskan: 2025-01-05 08:15:40
asal
659 orang telah melayarinya

How to Extract File Bytes from Multipart/Form-Data POSTs in WCF REST Services?

Mengekstrak Bait Fail daripada Siaran Berbilang Bahagian/Data Borang dalam Perkhidmatan WCF REST

Borang web sering menggunakan jenis kandungan data berbilang bahagian/borang untuk menghantar fail ke perkhidmatan web. Walaupun ini membolehkan pemindahan fail mudah, mengekstrak bait fail daripada badan berbilang bahagian boleh menjadi satu cabaran. Satu penyelesaian untuk masalah ini melibatkan memanfaatkan API Microsoft awam yang diperkenalkan dalam .NET 4.5.

Untuk menggunakan API ini, anda perlu memasukkan System.Net.Http.dll dan System.Net.Http.Formatting. dll dalam projek anda. Jika anda menggunakan .NET 4, anda boleh mendapatkan himpunan ini melalui NuGet.

Setelah memasang pemasangan, anda boleh menggunakan kod berikut untuk menghuraikan badan berbilang bahagian dan mengekstrak bait fail:

public static async Task ParseFiles(
    Stream data,
    string contentType,
    Action<string, Stream> fileProcessor)
{
    // Create a stream content based on the input stream
    var streamContent = new StreamContent(data);

    // Set the content type header
    streamContent.Headers.ContentType = MediaTypeHeaderValue.Parse(contentType);

    // Read the multipart data as multipart content
    var provider = await streamContent.ReadAsMultipartAsync();

    // Loop through each content retrieved from the multipart body
    foreach (var httpContent in provider.Contents)
    {
        // Get the file name
        var fileName = httpContent.Headers.ContentDisposition.FileName;

        // If there is a file name, ignore empty file names
        if (string.IsNullOrWhiteSpace(fileName))
        {
            continue;
        }

        // Read the file content stream
        using (Stream fileContents = await httpContent.ReadAsStreamAsync())
        {
            // Pass the file name and file content stream to the specified processor
            fileProcessor(fileName, fileContents);
        }
    }
}
````

To use this code, you can create a custom file processor method, such as:
Salin selepas log masuk

private void MyProcessMethod(nama rentetan, Strim kandungan)
{

// Your code to process the file data
Salin selepas log masuk

}

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Bait Fail daripada POST Berbilang Bahagian/Data dalam Perkhidmatan WCF REST?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan