2017-08-03 25 views
0

我已經更新列:IMAGE_URL在[jhi_user表有着不同的價值觀,並且似乎沒有任何工作,example: image_url= ../../../content/media/angular-js.pngJhipster - [來源] = 「getImageUrl()」 爲用戶的頭像圖片不能正常工作

問題: 在哪裏在jhipster的文件結構,我應該創建一個文件夾來保存用戶的個人資料圖片,又該IMAGE_URL值是如此,它的工作原理與 <img [src]="getImageUrl()">

值得一提的是,這部作品: <img src="../../../content/media/angular-js.png"> 我創建了一個文件夾中的「媒體」與圖像:angular-js.png

我使用MySQL數據庫和發電機jhipster:「4.6.2」

感謝您的幫助提前

回答

0

有2種網絡應用程序中的圖像:靜態資產用於佈局(圖標,背景,徽標...),它們捆綁在您的應用程序中,其他可以更改而無需重新構建您的應用程序,哪些是數據。

靜態資產可以被瀏覽器長期緩存,這就是爲什麼JHipster使用webpack to version their URLs和散列碼來修改引用它們的文件(html,css)並捆綁它們。

在您的設計中,圖像URL存儲在用戶實體的一列中,該實體指向一個靜態資產的頭像圖像。所以webpack不能重寫它。

因此,無論是從webpack構建過程中排除這些圖像,還是將圖像作爲Blob存儲在數據庫中,以便用戶可以上傳自己的圖像。

第二種選擇是創建一個新的實體Avatar,它擁有Blob並與User實體具有一對一的關係。另一個實體si的原因是JHipster不允許您修改用戶實體。

+0

我試圖避免將用戶的圖像保存爲DB中的Blob,我只是想存儲它們的URL。當我嘗試不同的選項時,我創建了一個新的文件夾「media」:'content/media/user_image.png'來將用戶圖像存儲爲數據。我將url作爲'../../../ content/media/user_image.png'存儲在數據庫中,並嘗試使用''getImageUrl()返回存儲在BD中的圖像URL。這不行,爲什麼?我使用錯誤的URL格式? –

+0

在我對webpack重寫URL的解釋中,你不明白什麼?你讀過鏈接文章嗎? –

+0

我在'target/www'中使用'media/user_image.png',使用 'CopyWebpackPlugin([''/ media','media'} ]'',in webpack.dev ,所以現在使用'