Active Storage Blob
Blob 是包含文件中的資料和金鑰記錄,表示該檔案存在於服務中的位置。Blob 可以透過兩種方式建立
-
在檔案被上傳至服務器的後端之前,透過
create_and_upload!
。此操作必須提供伺服器上具有檔案內容的可倒帶io
。 -
在檔案被直接上傳至服務器的前端之前,透過
create_before_direct_upload!
。
第一個選項不需要前端的 JavaScript 整合,而且可以讓處理檔案的任何其他後端服務使用。第二個選項較快速,因為您不會使用自己的伺服器作為上傳的暫存區域,而且可以使用像 Heroku 這種未提供大量磁碟空間的部署。
只要 Blob 參考特定的檔案,就應該不變。您可以在後續傳遞中更新 Blob 的資料,但不應該更新金鑰或變更已上傳的檔案。如果您需要建立衍生品或以其他方式變更 Blob,只需建立新的 Blob 並清除舊的 Blob。
命名空間
- 模組 ActiveRecord
- 模組 ActiveRecord::Coders
- 模組 ActiveStorage
- 模組 Digest
- 類別 ActiveStorage::Blob