「Content-Disposition」ヘッダーを確認する必要があります。たとえば、"Content-Disposition" を "attachment; filename=FileName.pdf" に設定すると、ユーザーは (通常) [名前を付けて保存: FileName.pdf] ダイアログを開くのではなく、ダイアログを表示します。ただし、これはダウンロードを実行しているリクエストから取得する必要があるため、リダイレクト中にこれを行うことはできません。ただし、ASP.NET は、この目的のために Response.TransmitFile を提供しています。例(他の優先オプションがあるMVCを使用していないと仮定します):
Response.Clear();
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=FileName.pdf");
Response.TransmitFile(filePath);
Response.End();
開こうとしている場合は、Api のファイルを BytesArray に変換してからコンテンツを入力します
HttpResponseMessage result = null;
result = Request.CreateResponse(HttpStatusCode.OK);
FileStream stream = File.OpenRead(path);
byte[] fileBytes = new byte[stream.Length];
stream.Read(fileBytes, 0, fileBytes.Length);
stream.Close();
result.Content = new ByteArrayContent(fileBytes);
result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "FileName.pdf";