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:
private void MyProcessMethod(nama rentetan, Strim kandungan)
{
// Your code to process the file data
}
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!