【上传图片】上传图片二三事

在做项目过程中,想要用上一个可以编辑头像尺寸的插件,但是用上后各种问题层出不穷,一下是一些总结教训,留待后用。

1.关于jquery的站位问题,jquery一定要位于所有可能会用到它的其余js代码之前,否则会报错。

2.能找到的开源js裁剪插件多为cropper,而cropper上传之后图片会被转换成base64的格式,一番研究之后,发现base64的图片是把图片直接转码成了字符串,可以直接放在img标签的src属性中,但是因为该字符长度过长存到数据库中有些不便,所以想要再转换为图片于是就有了下面的代码。

 1 // 去掉base64前面的标签
 2 $res = explode(',', $request->img);
 3 
 4 //  设置文件路径和文件前缀名称
 5 $path = "./uploads/avatar/";
 6 $prefix='nx_';
 7 $output_file = $prefix.time().rand(100000000,999999999).'.jpg';
 8 $path = $path.$output_file;
 9 
10 // 把由base64字符串解码成的数据写入文件
11 file_put_contents($path, base64_decode($res[1]));
View Code

3.然后就可以把该文件名写入数据库了。大功告成

原文地址:https://www.cnblogs.com/peilanluo/p/7145706.html