Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengendalikan Muat Naik Fail melalui POST dalam API Web ASP.NET?

Bagaimana Mengendalikan Muat Naik Fail melalui POST dalam API Web ASP.NET?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-24 01:31:08631semak imbas

How to Handle File Uploads via POST in ASP.NET Web API?

Muat naik fail melalui POST dalam API Web ASP.NET

Memuat naik fail dalam API Web ASP.NET memerlukan pendekatan tersuai. Untuk menerima dan memproses imej atau fail POST, pelaksanaan semasa mesti dipertingkatkan.

Coretan kod yang disediakan dalam soalan anda ProfileImagePost cuba menerima parameter HttpPostedFile. Walau bagaimanapun, pendekatan ini mungkin tidak berfungsi seperti yang diharapkan dalam API Web ASP.NET.

Sebaliknya, gunakan corak berikut untuk berjaya mengendalikan muat naik fail:

<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();
        // 使用文件名和二进制数据执行任何操作。
    }

    return Ok();
}</code>

Coretan kod yang diubah suai ini memastikan anda boleh menerima dan mengendalikan muat naik fail dalam API Web ASP.NET dengan menganggap permintaan masuk sebagai data berbilang bahagian dan mengekstrak nama fail dan kandungan fail.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Muat Naik Fail melalui POST dalam API Web ASP.NET?. 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