使用js版api时,添加了限制文件类型选项后,安卓手机上不报错误。
添加的文件限制后:
filters :{
max_file_size : '100mb',
prevent_duplicates: true,
mime_types:[
{title : "Video files", extensions : "flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4"}
],
},
当选择的不是视频时,在
'Error': function(up, err, errTip) {
alert(errTip);
},
中并没有aler错误信息。主要出现在安卓手机微信浏览器中。
整体代码为:
var uploader = Qiniu.uploader({
runtimes: 'html5,flash,html4', // 上传模式,依次退化
browse_button: 'p4_upload_videos', // 上传选择的点选按钮,必需
uptoken_url: youwineduObj.basePath+that.uptokenUrl, // Ajax请求uptoken的Url,强烈建议设置(服务端提供)
get_new_uptoken: false, // 设置上传文件的时候是否每次都重新获取新的uptoken
unique_names: true, // 默认false,key为文件名。若开启该选项,JS-SDK会为每个文件自动生成key(文件名)
multi_selection: false,
domain: that.domain, // bucket域名,下载资源时用到,必需
container: 'container', // 上传区域DOM ID,默认是browser_button的父元素
max_file_size: '100mb', // 最大文件体积限制
flash_swf_url: '/plupload/Moxie.swf', //引入flash,相对路径
max_retries: 3, // 上传失败最大重试次数
dragdrop: true, // 开启可拖曳上传
drop_element: 'container', // 拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
chunk_size: '4mb', // 分块上传时,每块的体积
auto_start: true, // 选择文件后自动上传,若关闭需要自己绑定事件触发上传
filters :{
max_file_size : '100mb',
prevent_duplicates: true,
mime_types:[
{title : "Video files", extensions : "flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4"}, // 限定flv,mpg,mpeg,avi,wmv,mov,asf,rm,rmvb,mkv,m4v,mp4后缀格式上传
],
},
init: {
'FilesAdded': function(up, files) {
plupload.each(files, function(file) {
// 文件添加进队列后,处理相关的事情
});
},
'BeforeUpload': function(up, file) {
console.log(up);
console.log(file);
// 每个文件上传前,处理相关的事情
},
'UploadProgress': function(up, file) {
// 每个文件上传时,处理相关的事情
},
'FileUploaded': function(up, file, info) {
weChatModel.hiddenLoading(0);
// 查看简单反馈
var domain = up.getOption('domain');
var res = JSON.parse(info);
var sourceLink = domain +"/"+ res.key;// 获取上传成功后的文件的Url
// 每个文件上传成功,处理相关的事情
},
'Error': function(up, err, errTip) {
//上传出错时,处理相关的事情
weChatModel.hiddenLoading(0);
alert(errTip);
console.log("_______________________");
console.log(up);
console.log("_______________________");
console.log(err);
console.log("_______________________");
console.log(errTip);
console.log("_______________________");
},
'UploadComplete': function() {
//队列文件处理完毕后,处理相关的事情
},
'Key': function(up, file) {
// 若想在前端对每个文件的key进行个性化处理,可以配置该函数
// 该配置必须要在unique_names: false,save_key: false时才生效
var key = "";
// do something with key here
return key
}
}
});
建议把上传页面的外网访问地址,已经详细情况描述清楚,并说明手机型号,系统版本,微信版本,提交个工单给七牛。