使用 HTTP Header Content-Dispoition 設定附件預設的開啟或下載行為。
說明
public ActionResult PDF()
{
var cd = new System.Net.Mime.ContentDisposition
{
FileName = "PDF_Sample.pdf",
Inline = false,
};
Response.AppendHeader("Content-Disposition", cd.ToString());
return File("~/Files/PDF_Sample.pdf", "Application/pdf");
}
預設上不加入 ContentDisposition
會預設使用 Inline 的方式提供 (在新頁籤開啟檔案),但如果加入 ContentDisposition
而為提供是否 Inline,則預設會使用 Attachment 的方式開啟 (逕執行檔案下載),而如果使用 Inline = True
則又會恢復為 Inline 的方式 😊
此外 ContentDisposition 的 FileName
不直接影響瀏覽器的呈現方式,但 ContentyType (MIME) 必須正確,
Common ContentType
Extension | Description | MIME Type |
---|---|---|
.avi | AVI: Audio Video Interleave video/ | x-msvideo |
.bmp | Windows OS/2 Bitmap Graphics | image/bmp |
.css | Cascading Style Sheets (CSS) | text/css |
.csv | Comma-separated values (CSV) | text/csv |
.doc | Microsoft Word | application/msword |
.docx | Microsoft Word (OpenXML) | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
.gif | Graphics Interchange Format (GIF) | image/gif |
.htm, .html | HyperText Markup Language (HTML) | text/html |
.ico | Icon format image/vnd. | microsoft.icon |
.jpeg, .jpg | JPEG images | image/jpeg |
.js | JavaScript text/javascript (Specifications: HTML and RFC | 9239) |
.json | JSON format | application/json |
.mjs | JavaScript module | text/javascript |
.mp3 | MP3 audio | audio/mpeg |
.mp4 | MP4 video | video/mp4 |
.mpeg | MPEG Video | video/mpeg |
.odp | OpenDocument presentation document | application/vnd.oasis.opendocument.presentation |
.ods | OpenDocument spreadsheet document | application/vnd.oasis.opendocument.spreadsheet |
.odt | OpenDocument text document | application/vnd.oasis.opendocument.text |
.png | Portable Network Graphics | image/png |
Adobe Portable Document Format (PDF) | application/pdf | |
.ppt | Microsoft PowerPoint | application/vnd.ms-powerpoint |
.pptx | Microsoft PowerPoint (OpenXML) | application/vnd.openxmlformats-officedocument.presentationml.presentation |
.rar | RAR archive application/ | vnd.rar |
.svg | Scalable Vector Graphics (SVG) image/ | svg+xml |
.txt | Text, (generally ASCII or ISO 8859-n) | text/plain |
.wav | Waveform Audio Format | audio/wav |
.webp | WEBP image | image/webp |
.woff | Web Open Font Format (WOFF) | font/woff |
.woff2 | Web Open Font Format (WOFF) | font/woff2 |
.xls | Microsoft Excel | application/vnd.ms-excel |
.xlsx | Microsoft Excel (OpenXML) | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
.zip | ZIP archive | application/zip |
.7z | 7-zip archive application/x- | 7z-compressed |