【上传图片】上传图片二三事
在做项目过程中,想要用上一个可以编辑头像尺寸的插件,但是用上后各种问题层出不穷,一下是一些总结教训,留待后用。
1.关于jquery的站位问题,jquery一定要位于所有可能会用到它的其余js代码之前,否则会报错。
2.能找到的开源js裁剪插件多为cropper,而cropper上传之后图片会被转换成base64的格式,一番研究之后,发现base64的图片是把图片直接转码成了字符串,可以直接放在img标签的src属性中,但是因为该字符长度过长存到数据库中有些不便,所以想要再转换为图片于是就有了下面的代码。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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]));
3.然后就可以把该文件名写入数据库了。大功告成