plupload在微信浏览器无法调起相册选择图片提示没有应用可执行此操作的解决方法

plupload在pc端使用正常,在微信端点击上传提示“没有应用可执行此操作”,审查元素发现问题所在:微信网页的input type="file"的accept属性只允许"image/jpg,image/jpeg"这种格式,而pluploader只允许“jpg,jpeg”这种参数格式。

console查看pluploader.full.min.js,找到动态生成input type="file"的代码,如下:

在网上搜到的方式,基本都是直接修改这个accept="image/jpg,image/jpeg",但这种方式太过死板,所以这里改成接收外部参数,通过增加filters的参数,在plupload.full.min.js里接收参数,达到通用性:

filters: {
			mime_types : [
				//extensions2是赋给input的值,只操作input的accept属性,不影响plupload其他的流程
				{ title : "files type", extensions : format, extensions2 : "image/jpeg,image/jpg" },
			],
			max_file_size : maxsize, //最大上传的文件
			prevent_duplicates : true //不允许选取重复文件
		},

然后在plupload.full.min.js中,将accept改成如下:

这里面的e,其实就是外部定义的filters.mime_types对象,这样我们仍然可以做到通过外部参数定义文件类型,而不是在plupload.full.min.js中写死。

注意:plupload的filters.mime_types是一个数组,用来定义上传的文件是图片、视频、zip包等,一般一个上传实例都会限制只允许上传一种类型的文件,所以我直接取的e.accept[0].extensions2,如果你在filters.mime_types定义多个限制文件类型的对象,那么这里不应该写作e.accept[0].extensions2,而是要循环e.accept,然后拼接extensions2,再赋到html的accept标签。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值