背景
阿里雲對象存儲因為其穩定可靠以及海量存儲空間的優點而受到很多客戶的歡迎,其提供Restful的接口,使得它可以無縫的和各種網絡應用相結合。存儲於阿里雲對象存儲裡面的文件可以通過設置Content-Type來決定Web應用在瀏覽器裡面以何種方式何種編碼來打開該文件。設置Content-Type一般都是遵循MIME的標準來的,MIME (Multipurpose Internet Mail Extensions) 是描述消息內容類型的因特網標準。
阿里云云存儲網關是一款能夠提供標準的NFS/SMB文件協議接口的服務,數據最終實際是存儲在阿里雲對象存儲裡面,相當於它將Restful的對象接口轉成了傳統的文件接口。同時它還在本地通過磁盤實現了部分熱數據的緩存,使得用戶訪問數據時具有更高的性能。它可以使得一些傳統的Web應用不需要任何改造就可以直接對接阿里雲對象存儲,享受海量的存儲空間。
那麼通過文件協議接口寫入的圖片等文件再存儲到阿里雲對象存儲之後它的Content-Type能夠被設置為正確的MIME類型麼?這裡我們做下簡單的驗證一下。
驗證
首先我們創建了一個NFS共享,創建以及掛載的過程這裡不做過多介紹。可以參考如何在Windows上掛載OSS Bucket和如何在Linux上掛載OSS Bucket分別在Windows和Linux掛載SMB共享或者NFS共享。
我們在客戶端掛載該共享並寫入一個沒有任何後綴名的文件test,等幾秒鐘之後,我們就可以看到該文件被同步到了oss bucket裡面,我們通過阿里雲對象存儲控制檯查看該文件的Content-Type,可以看到默認設置的類型為application/octet-stream。
然後我們創建一個後綴名為jpg的文件,或者直接將前面的文件重命名成帶有jpg後綴的新名字,再次去oss bucket裡面查看該文件的文件類型,可以看到oss bucket裡面新文件的Content-Type已經被設置成了jpeg。
結論
經過上面的小實驗我們知道雲存儲網關將用戶通過SMB/NFS協議寫入的文件上傳到oss bucket之後,能夠自動並且正確的設置MIME類型,是不是很方便呢。可以放心的使用存儲網關提供的文件協議接口來訪問阿里雲對象存儲啦。