透過Azure File Copy的Task,可以把檔案部署到VM或是Blob中,在後者部署上如果只是一般的檔案,基本上並無太大問題,不過今日要是你部署的是js
,image
,css
或是fonts
檔案可能就會出現問題
最容易發生的問題就是Web的連結這些Link檔案,雖然不會出現404
問題,但是檔案內容也不會有做作用。主要是因為使用這Task部署後,檔案在Blob的Content Type會被設定octet-stream
這樣就會導致CSS即使被下載後還是依舊不能顯示
所以,必須在Azure File Copy Task的Additional Arguments
設定
因為,Azure File Copy Task背後是透過Azcopy命令程式進行動作,而Additional Arguments
內擺放的參數就是Azcopy參數,關於Azcopy可以參考下面網址:
https://azure.microsoft.com/zh-tw/documentation/articles/storage-use-azcopy/
以部署CSS檔案為例,如果都不設定,在Blob的Content Type會是application/octet-stream
,這樣會讓網頁無法讀取檔案內容,所以,必須在Additional Arguments內加入下面指令
若是遇到不同檔案要有不同的Content Type,需要建立多個Task,分別過濾出檔案的Content Type去設定,然後部署,所以,語法就會變成下面這樣
這就可以在部署到Blob後,也改變其檔案的Content Type了