我在我的應用程式中發現了奇怪的錯誤。我正在使用 VueJS3 和打字稿。我正在創建一個媒體庫,用戶可以在其中管理資產。應用程式的所有端點和后端都運行良好。目前我正在更新影像檔案(更新影像欄位)。我的代碼理論上有效,影像 url 更新為新的,但即使 url 更新,呈現的影像也是舊影像(更新前)。當我嘗試在隱身視窗中查看我的應用程式時,我的新影像正在顯示。但它不起作用(如果并且只有用戶清除他的快取)我希望我清楚地解釋自己,這有點復雜:)
當我從 api 獲取資料時,它們沒有任何 src,所以我必須在使用資料時創建一個屬性。這是下面的代碼。
const { res, err } = await this.$api.image.getAll(params)
res.data.items.forEach(async (image: Image<Populated>) => {
image.src = this.$fileHandler(image._id)
})
注意:檔案處理程式是一種特殊的方法,它通過 id 給出影像源
uj5u.com熱心網友回復:
顯然你的資產被快取了,有多種方法可以解決這個問題。
不要過多地研究快取策略和快取控制標簽,只要做
image.src = `${this.$fileHandler(image._id)}?_=${ new Date()}`
這將為您的影像生成一個唯一的(幾乎)URL,使之前快取的每一個都無效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/487773.html
