0
因此,我的網站(使用laravel 5構建)允許用戶上傳圖片並裁剪(使用croppie.js),但問題在於 - 我得到的裁剪圖像基於64位數據URI我不知道如何上傳它。如何使用laravel保存剪裁的頭像
我的考驗: 1.最初我使用的形式發佈了 - 但現在我得到的base64 URI,我不能把它在某些<input>
元素的形式,像這樣:
<form.....>
\t <div class="actions">
\t <button class="file-btn">
\t <div>Upload</div>
\t <input name="original" type="file" id="upload"/>
\t </button>
\t <div class="crop">
\t <div id="upload-demo"></div>
\t </div>
\t <div id="result"></div>
\t </div>
\t <input id="image" type="hidden" name="image">
</form>
如果我可以將生成的base64 URI綁定到隱藏的輸入,它將是完美的!但我不能使它..
- 我可以發佈base64控制器 - 然後呢?我應該只在數據庫中存儲很長的字符串,還是在服務器端生成一個映像,然後存儲在服務器中?
看來,第一種方法是比較容易,但我一直在谷歌上搜索4小時,沒有得到答案......
謝謝你指點我正確的方向,但我仍然對服務器端的文件對象非常困惑。 因此,我使用'file_put_contents('image64.png',$ avatar_data);'得到了一個文件,但我該如何使用該文件?我需要的是一個UploadedFile對象,它需要通過構造函數創建路徑,但是如何在這種情況下指定路徑?當我嘗試'$ avatar = new UploadedFile('image64.png',$ original-> getClientOriginalName());'時,它會拋出未知錯誤。 –
解決! 'file_put_contents('image64.png',$ avatar_data); $ avatar = new UploadedFile('image64.png',$ original-> getClientOriginalName(),'image/jpg',null,null,true);' 這裏的訣竅是最後一個參數 - 設置爲true或它未知的失敗。 –