如何使用拉拉维尔保存裁剪的头像


How to save cropped avatar with laravel

所以我的网站(用laravel 5构建)允许用户上传图像,裁剪它(使用croppie.js),但问题是 - 我得到的裁剪图像是基于64个数据URI,我不知道如何上传它。

我的试验:1. 最初我使用表单来发布它 - 但现在我得到了 base64 URI,我无法将其放入表单中的某个<input>元素中,如下所示:

<form.....>
	<div class="actions"> 
	    <button class="file-btn"> 
	        <div>Upload</div>
	        <input name="original" type="file" id="upload"/> 
	    </button> 
	    <div class="crop"> 
	        <div id="upload-demo"></div> 
	    </div> 
	    <div id="result"></div> 
	</div>
	<input id="image" type="hidden" name="image"> 
</form>

如果我可以将生成的base64 URI绑定到隐藏的输入,那就完美了!但我就是做不到..

  1. 我可以将 base64 发布到控制器 - 然后呢?我应该只将很长的字符串存储在数据库中,还是在服务器端生成图像,然后存储在服务器中?

似乎第一种方法更容易,但我已经在谷歌上搜索了 4 个小时,没有得到答案......

  • 裁剪图像,生成 base64 URI
  • 将 base64 URI 发布到 Laravel 端点
  • 在服务器端解码 base64 URI 并存储图像

这应该有助于解码部分:

将 Base64 字符串转换为图像文件?