iT邦幫忙

0

<<更新>>laravel圖片顯示問題

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20190530/20111666QVKHMsaNyc.png
https://ithelp.ithome.com.tw/upload/images/20190530/20111666dvFu1jd2Wf.png
https://ithelp.ithome.com.tw/upload/images/20190530/20111666gJHhi9i5Nh.png
在controller中,將photo放到public目錄下,並將photo路徑存取至DB。

https://ithelp.ithome.com.tw/upload/images/20190530/20111666K4lPyQyVbm.png
在blade裡使用DB儲存的路徑輸出圖片

https://ithelp.ithome.com.tw/upload/images/20190530/20111666YYmfDlKSYt.png
無法顯示

懇請各位幫忙解惑,謝謝。

############################################################

<<更新>>
感謝各位的幫忙與建議~
是路徑問題沒錯。
$merchandise->photo在console中顯示為http://shop-laravel.local/1
推測為只捕捉到DB中的primaryKey。
原程式為
https://ithelp.ithome.com.tw/upload/images/20190530/20111666RCK6KS6PsC.png
在網路上搜尋到此blade輸出寫法(已停在 Laravel 5.6 )
{{ isset($name) ? $name : 'Default' }}
{{ $name or default}}

將程式改為
https://ithelp.ithome.com.tw/upload/images/20190530/20111666WZxRQqi0qs.png
即可正常顯示

補充
https://ithelp.ithome.com.tw/upload/images/20190530/2011166602r2GGkqe1.png
參考資料
https://learnku.com/laravel/t/9407/laravel-57-prospect-using-the-null-merge-operator-in-the-blade-template
https://www.w3schools.com/php7/php7_operators.asp

ccutmis iT邦高手 2 級 ‧ 2019-05-30 08:41:04 檢舉
感覺是路徑問題
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
小魚
iT邦大師 1 級 ‧ 2019-05-30 08:26:53

問個問題,
你的資料庫中是 images開頭,
但是預設圖片是 /assets/images開頭,
是兩個目錄不一樣嗎?
資料庫那個看起來是相對目錄,
你的目錄確定沒錯嗎?

https://ithelp.ithome.com.tw/upload/images/20190530/201116667U4Q28WKID.png
是的~是兩個不一樣的目錄。/assets/images只放顯示不出來時的圖片。

資料庫是相對路徑沒錯
https://ithelp.ithome.com.tw/upload/images/20190530/20111666b3Q5cyIZ7m.png
直接打上DB中的相對路徑能正常顯示

小魚 iT邦大師 1 級 ‧ 2019-05-30 09:16:01 檢舉

那就是你的程式有問題了,
你有看你執行出來的原始碼是什麼嗎?

1
dragonH
iT邦超人 5 級 ‧ 2019-05-30 09:18:23

先打開f12 console

看無法顯示時的情況

大概87%是 404 not found

或者是你在指定 image url 時

有 syntax error 的問題

  1. 直接在瀏覽器輸入圖片網址 排除 404 可能性

  2. 如果上面可以正常讀取的話

    再檢查最後 render 到 img 的 src 是不是有問題

  3. 如果是 404 的話, node.js 都要另外設定 static folder

    你可以去翻 document 檢查 laravel 是否有相關設定

1

其實,看到你說了「sources中沒有public folder」
就可以了解你對框架中的路由架構不了解。所以發生了路徑問題存在。

這個問題其實很難跟你說答案。因為這需要解釋到路由及rw規化的走向。解釋起來太多了。
建議你要用mvc架構的框架,先去了解一下路由的應用處理。

不要再處在以前的web path觀念上。

1
Victor
iT邦新手 2 級 ‧ 2019-05-30 10:07:11

F12檢查看看原始碼 $Merchandise->photo 讀出來的路徑是什麼路徑。

我要發表回答

立即登入回答