Memproses Muat Naik Fail dalam API Web ASP.NET
ASP.NET Web API memerlukan pendekatan khusus untuk mengendalikan muat naik fail, berbeza daripada kaedah tradisional ASP.NET MVC. Parameter HttpPostedFile
tidak serasi secara langsung. Penyelesaiannya melibatkan memanfaatkan kandungan berbilang bahagian.
Kandungan Berbilang Bahagian: Kunci Muat Naik Fail
Kandungan berbilang bahagian adalah penting untuk muat naik fail API Web. Ia menggabungkan data teks dan fail dengan cekap dalam satu permintaan HTTP.
Membina Tindakan Pengawal untuk Muat Naik Fail
Tindakan pengawal menggunakan Task<IHttpActionResult>
sesuai untuk pemprosesan fail tak segerak. Berikut ialah contoh:
<code class="language-csharp">[HttpPost("api/upload")] public async Task<IHttpActionResult> Upload() { if (!Request.Content.IsMimeMultipartContent()) throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); var provider = new MultipartMemoryStreamProvider(); await Request.Content.ReadAsMultipartAsync(provider); foreach (var file in provider.Contents) { var filename = file.Headers.ContentDisposition.FileName.Trim('\"'); var buffer = await file.ReadAsByteArrayAsync(); // File processing logic here (e.g., save to disk, database, etc.) } return Ok(); }</code>
Penjelasan Kod:
IsMimeMultipartContent()
: Mengesahkan jenis kandungan berbilang bahagian permintaan.MultipartMemoryStreamProvider
: Menguruskan data berbilang bahagian dalam ingatan.ReadAsMultipartAsync()
: Menghuraikan data berbilang bahagian ke dalam komponen individu.Ok()
: Mengembalikan respons HTTP yang berjaya.Kesimpulan:
Pendekatan ini menyediakan kaedah yang boleh dipercayai untuk mengendalikan muat naik fail dalam API Web ASP.NET. Menggunakan kandungan berbilang bahagian dan MultipartMemoryStreamProvider
memastikan pemprosesan muat naik fail yang cekap dan mantap dalam perkhidmatan API Web anda.
Atas ialah kandungan terperinci Bagaimana untuk Menerima POST Fail dalam API Web ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!