「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ASP.NET Web APIからファイルコンテンツを返す方法は?

ASP.NET Web APIからファイルコンテンツを返す方法は?

2025-03-22に投稿されました
ブラウズ:743

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

ファイルコンテンツを返すと、asp.net web api

が得られます。

filecontentResult は、PDFSなどのファイルを提供するためにMVCコントローラーでうまく機能し、これを apicontroller に直接移植します。 streamcontent を使用する簡単な試みが失敗することが多く、ファイル自体の代わりにJSONメタデータを作成します。 ソリューションは、 bytearraycontent

を活用することにあります。

この改訂されたコードスニペットは、Web APIの結果としてファイルコンテンツとしてPDFファイルを効果的に返します:

[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;
    }
}

キーは[bytearraycontent を使用してファイルのバイトをカプセル化し、 contentdisposition headerを「添付ファイル」に設定してダウンロードをプロンプトすることです。 contentType ヘッダーは、クライアントによる適切な処理を保証します。 を使用してを使用してメモリストリームが適切に廃棄されていることを確認することに注意してください。 このアプローチにより、Web APIを介してPDFやその他のファイルタイプのシームレスな配信が可能になります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3