Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengembalikan Hasil Kandungan Fail daripada API Web ASP.NET?

Bagaimana untuk Mengembalikan Hasil Kandungan Fail daripada API Web ASP.NET?

Patricia Arquette
Lepaskan: 2025-01-18 17:26:09
asal
925 orang telah melayarinya

How to Return a File Content Result from an ASP.NET Web API?

Memulangkan Keputusan Kandungan Fail dalam API Web ASP.NET

Walaupun FileContentResult berfungsi dengan baik dalam pengawal MVC untuk menyiarkan fail seperti PDF, mengalihkannya terus ke ApiController memberikan cabaran. Percubaan mudah untuk menggunakan StreamContent selalunya gagal, mengakibatkan metadata JSON dan bukannya fail itu sendiri. Penyelesaiannya terletak pada memanfaatkan ByteArrayContent.

Coretan kod yang disemak ini dengan berkesan mengembalikan fail PDF sebagai hasil kandungan fail daripada API Web:

<code class="language-csharp">[HttpGet]
public HttpResponseMessage Generate()
{
    using (var stream = new MemoryStream())
    {
        // Process the stream to generate PDF content here...

        var result = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = new ByteArrayContent(stream.ToArray())
        };
        result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = "CertificationCard.pdf"
        };
        result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
        return result;
    }
}</code>
Salin selepas log masuk

Kuncinya menggunakan ByteArrayContent untuk merangkum bait fail dan menetapkan pengepala ContentDisposition kepada "lampiran" untuk menggesa muat turun. Tajuk ContentType memastikan pengendalian yang betul oleh pelanggan. Perhatikan penggunaan using untuk memastikan MemoryStream dilupuskan dengan betul. Pendekatan ini membolehkan penghantaran PDF dan jenis fail lain yang lancar melalui API Web anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Hasil Kandungan Fail daripada API Web ASP.NET?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan