移动端压缩图片。上传获取图片并压缩。lrz.all.bundle.js插件。 accept="image/*"加载慢的问题
2017-02-24 16:39
1576 查看
查看下载地址:http://www.cnblogs.com/52fhy/p/5355601.html
查看input[type='file']的图片路径。在我的另一篇博客:http://blog.csdn.net/qq_33769914/article/details/54705820而这篇文章可以说是综合性的,用了这个插件方法就也是可以获取图片路径的,并且还压缩了。所以这样就淘汰原来方法。更加好啦。
希望在上传的时候获取图片并压缩他,之后上传至服务器。
<script src="./dist/lrz.all.bundle.js"></script>
//这里加载的这个有个all,和上面地址的例子可能是不一样。因为
这个all的js是比较全的兼容android和ios的啦。
上传图片<input type="file" capture="camera" accept="image/*" name="logo" />
capture(捕获的意思)表示调用相册相机camera,录音机video和摄像机audio
accept 表示,直接打开系统文件目录。(其实html5的input:file标签还支持一个multiple属性,表示可以支持多选。加上这个multiple后,capture就没啥用了,因为multiple是专门yong用来支持多选的。)
但是!!!!
input type="file" 添加了 accept="image/*"属性在Chrome和Safari等Webkit浏览器下却出现了响应滞慢的问题。使得页面弹出选择文件的弹窗非常的慢6-10s,这是因为accept="image/*"会每一个文件都遍历一次所有的”image/*”文件类型。
解决办法是:删掉它或者将 * 通配符,或者修改为指定的MIME类型:
<input type="file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg">
$(function(){ $('input[name=logo]').on('change', function(){ lrz(this.files[0], {width: 640}) //
width:640这个代表的是图片占得内存的大小。值越小,占内存越小[/code]
.then(function (rst) { //请求ajax把图片地址传过去 $.ajax({ url: site_url + 'api/user/updLogo', type: 'post', data: {img: rst.base64}, //rst.base64就是这个图片的地址 base64字符串
dataType: 'json', timeout: 200000, error: doAjax.error, b907 success: doAjax.success, }); }) .catch(function (err) { //捕获错误,而且一旦出错上面的then都不会执行 }) .always(function () { //无论成败都会执行这里 }); }); })[/code]
如果您的图片不是来自用户上传的,那么也可以直接传入图片路径:
lrz('./xxx/xx/x.png') .then(function (rst) { // 处理成功会执行 }) .catch(function (err){ // 处理失败会执行 }) .always(function () { // 不管是成功失败,都会执行 });
相关文章推荐
- megapix-image插件 使用Canvas压缩图片上传 解决手机端图片上传功能的问题
- 纯原生js移动端图片压缩上传插件
- megapix-image插件 使用Canvas压缩图片上传 MegaPixImage.js下载
- Vue.js 2.0 移动端拍照压缩图片预览及上传 的全部源代码 lrz自己安装 npm i lrz --save -g 自己引入vux的 confirmplugin
- JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
- vue2移动端上传,预览,压缩图片,解决拍照旋转问题
- js移动端图片压缩上传功能
- vue2移动端上传,预览,压缩图片,解决拍照旋转问题
- JS获取剪贴板图片之后的格式选择与压缩问题
- js移动端/H5同时选择多张图片上传并使用canvas压缩图片
- JS前端上传图片、压缩、并且处理旋转问题,生成base64数据
- JS 图片上传兼容性问题(获取图片宽高兼容)
- JS前端上传图片、压缩、并且处理旋转问题,生成base64数据
- js,angularjs 图片上传服务器,并解决照片旋转问题,前端图片压缩上传
- 关于用Webpack路径压缩图片上传尺寸获取的问题
- HTML5 JS压缩图片并获取图片BASE64编码上传
- [UIImage imageNamed:@"icon.png"] 加载图片的问题
- vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
- 使用ajaxupload.js插件上传图片不成功问题----RTFSC
- Vue.js 2.0 移动端拍照压缩图片上传预览功能