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
Lepaskan: 2025-01-24 01:26:09
asal
431 orang telah melayarinya

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>
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan