目前正在使用Symfony 3應用程序。我創建了一項服務,允許用戶上傳圖片,然後選擇裁剪部分,最後保存具有特定高度和寬度的頭像。化身保存在/web/img/uploads/avatar/
文件夾中。我正在使用用戶名來命名文件。因此,ID爲13的用戶將他的頭像保存在/web/img/uploads/avatar/13.png
。Symfony 3 - 圖像沒有立即更新
我的問題是,當用戶更新他的頭像時,該文件在文件夾中被正確替換,但在實際網站上顯示的頭像仍舊保留舊頭像一段時間。 在開發環境中,這需要在新的頭像替換舊頭像幾分鐘之前。即使我去了頭像網址(localhost/app_dev.php/img/uploads/avatar/xxx.png
),我仍然看到舊的頭像一段時間,然後它最終被新頭像取代。如預期的那樣,文件系統中的化身立即被替換掉了。
我想這可能來自緩存。我試圖在谷歌搜索解決方案,但我發現所有與LiipImagineBundle和它的緩存管理器有關,但我沒有使用這個捆綁...
我試圖刪除舊的頭像,如果它找到它的名字後,並在實際裁剪和保存圖像之前。如下。
if(file_exists($dst)) {
unlink($dst);
}
但它不起作用。完全一樣。
任何想法?
它只是瀏覽器緩存 – bxN5
除了告訴我的用戶「嘿,你改變了你的頭像,這很棒,現在等待一段時間,直到你的瀏覽器最終決定更新它的緩存,我會看到你的全新照片。「 ? 或者只是隨機圖像的名字我想,這樣因爲它的URL變化將每個用戶上傳一個新頭像時獲得一個新的。 – Kishlin
嘗試發送您的客戶端頭(緩存控制:無緩存,必重新驗證) – bxN5