ファイルコンテンツを返すと、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