網頁應用常見的資源網址除了 http URL 外,
還有 Data URL 及 Blob URL
這兩種類型的網址,也很常用在資源下載及顯示
內文將介紹這兩種 URL 的基本使用方法
- Data URL (資料網址)
- Blob URL (二進制大型物件網址)
- 附註常見的 MIME 類型 (Media Type)
Data URL (資料網址)
Data URL 可以使資源以文本格式直接鑲嵌在 HTML 中使用
如常見的圖片以 base64 置入於 img 標籤的 src 內
也可以將其放入 a 標籤的 href 內供使用者下載
Data URL 的基本編碼格式如下
1 | data:[media type][;編碼格式],編碼 |
圖片範例:
1 | data:image/png;base64,[base64代碼] |
純文字範例:
1 | data:text/plain;charset=utf-8,[字串符] |
圖片資源加載範例:
1 | <img src="data:image/png;base64,[base64代碼]" alt="圖片描述"> |
圖片資源下載範例:
1 | <a href="data:image/png;base64,[base64代碼]" download="檔案名稱"> |
Blob URL (二進制大型物件網址)
Blob URL 可以生成一個暫時的網址
並將其資源暫放在瀏覽器的記憶體中
創建 Blob URL 範例:
1 | const string = 'Hello Blob URL'; |
使用 Blob URL 下載檔案的範例:
1 | const link = document.createElement('a'); |
清除下載連結及釋放記憶體
1 | link.href = ""; |
附註常見的 MIME 類型 (Media Type)
| MIME 類型 | 描述 |
|---|---|
| text/plain | 純文本檔案的 MIME 類型 |
| text/html | HTML 檔案的 MIME 類型 |
| text/css | CSS 檔案的 MIME 類型 |
| text/markdown | Markdown 檔案的 MIME 類型 |
| application/javascript | JavaScript 檔案的 MIME 類型 |
| application/json | JSON 檔案的 MIME 類型 |
| application/xml | XML 檔案的 MIME 類型 |
| image/jpeg | JPEG 圖像檔案的 MIME 類型 |
| image/png | PNG 圖像檔案的 MIME 類型 |
| image/gif | GIF 圖像檔案的 MIME 類型 |
| audio/mpeg | MPEG 音訊檔案的 MIME 類型 |
| audio/wav | WAV 音訊檔案的 MIME 類型 |
| video/mp4 | MP4 視訊檔案的 MIME 類型 |
| video/mpeg | MPEG 視訊檔案的 MIME 類型 |
| application/pdf | PDF 檔案的 MIME 類型 |
| application/zip | ZIP 壓縮檔案的 MIME 類型 |
本文作者: David Huang
本文地址: https://davidblog.github.io/2023/06/08/Data-URL-vs-Blob-URL/