現在網站引入中文字體包的情況越來越頻繁了,由于中文字體包比較大,如果直接放在服務器上的話,加載速度會很慢,會嚴重影響訪問速度和網站體驗,所以我就把字體包放到了阿里云對象存儲OSS,然后直接使用字體包的字體,然后發現字體無法直接被使用,前臺代碼出現以下提示:

在網上搜索一下,好像是與OSS的跨域權限有關,所以登錄阿里云賬號進入OSS,找到對應的Bucket,如下圖所示:

點擊該Bucket名稱,然后再點擊“數據安全”->“跨域設置”,如下圖所示:

點擊“創建規則”,進入如下圖所示的彈窗:

以上設置,來源填寫*,允許Methods是最關鍵的一步,本來一眼就能看到HEAD,直接勾選就行了,然后點擊“確定”就行了,但嘗試后發現字體包還是無法使用,心想要15分鐘左右生效,15分鐘后再嘗試還是無法使用,然后我對Methods逐個測試,發現GET才是最終的Methods,如下圖所示:

點擊確認后,創建的規則如下圖所示:

上面的提示是15分鐘內生效,其實生效時間是即時,就是一點擊確認,規則就馬上生效。按照這樣字體包就可以使用了,順便說一下,如果你需要通過調用接口上傳文件到OSS里,
例如使用前端上傳組件Plupload來上傳文件,后臺使用阿里云自帶的SDK插件使上傳的文件到OSS里,就需要將Methods的POST勾選上才行,這樣就能從外部上傳文件到對象存儲OSS里。