手机端通过blob文件上传到服务器
mui拍照和从相册获取图片后,可以将文件转换成base64字符串后上传到服务,服务器解密保存图片文件,这样存在问题,
base64字符串过大会导致http无法传送参数,如果将图片进行压缩后转换成base64,会导致图片失真。
如何解决该问题:
通过将base64转化成更小的blob二进制对象传输到后端可解决该问题。
实现思路:
1、通过拍照或者从相册获取文件
2、压缩 文件,不压缩大小,只压缩质量
3、将压缩的文件转换成base64字符串
4、将base64字符串转化成二进制文件
实现思路图:
实现代码:
html:
<script type="text/javascript" src="js/resize/exif.js" ></script>
<script type="text/javascript" src="js/resize/binaryajax.js" ></script>
<script type="text/javascript" src="js/resize/canvasResize.js" ></script>
js: