Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menerima POST Fail dalam API Web ASP.NET MVC?

Bagaimana untuk Menerima POST Fail dalam API Web ASP.NET MVC?

DDD
DDDasal
2025-01-24 01:26:09483semak imbas

How to Accept File POSTs in ASP.NET MVC Web API?

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:

  1. IsMimeMultipartContent(): Mengesahkan jenis kandungan berbilang bahagian permintaan.
  2. MultipartMemoryStreamProvider: Menguruskan data berbilang bahagian dalam ingatan.
  3. ReadAsMultipartAsync(): Menghuraikan data berbilang bahagian ke dalam komponen individu.
  4. Lelaran Fail: Kod ini berulang melalui setiap bahagian fail, mengekstrak nama fail dan membaca data ke dalam tatasusunan bait.
  5. Pemprosesan Fail: Di sinilah anda akan melaksanakan logik pengendalian fail anda (menyimpan, memproses, dll.).
  6. 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!

Kenyataan:
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