javascript - 微信公號里采用七牛上傳視頻部分手機不能選擇文件
問題描述
1.微信公號開發設計到視頻上傳,采用七牛上傳視頻,發現在微信公眾號里打開本地文件時部分手機(華為)不能選擇視頻文件,部分手機(魅藍note2)直接調用相冊只能選圖片。2.七牛代碼如下:
var uploader = Qiniu.uploader({ runtimes: ’html5,flash,html4’, browse_button: _t.options.obj.substring(1), // 上傳選擇的點選按鈕DOM ID,必需 container: $(_t.options.obj).parent().attr('id'), // 上傳區域DOM ID,默認是browser_button的父元素 drop_element: $(_t.options.obj).parent().attr('id'),// 拖曳上傳區域元素的ID,拖曳文件或文件夾后可觸發上傳 multi_selection: _t.options.multi_selection,// 設置一次只能選擇一個文件 flash_swf_url: _t.options.flash_swf_url, //引入flash,相對路徑 dragdrop: _t.options.dragdrop, // 開啟可拖曳上傳 chunk_size: _t.options.chunk_size, // 分塊上傳時,每塊的體積 uptoken_url: _t.options.uptoken_url,// Ajax請求uptoken的Url,強烈建議設置(服務端提供) domain: _t.options.domain, // bucket域名,下載資源時用到,必需 get_new_uptoken: false, // 設置上傳文件的時候是否每次都重新獲取新的uptoken filters: {mime_types: [ //只允許上傳video {title: 'video', extensions: 'mp4,mov,avi,wmv,flv'}],prevent_duplicates: true//不允許選取重復文件 }, auto_start: true, // 選擇文件后自動上傳,若關閉需要自己綁定事件觸發上傳 init: {’FilesAdded’: function (up, files) { _t.options.filesAdded&&_t.options.filesAdded(up,files); // 文件添加進隊列后,處理相關的事情 plupload.each(files, function (file) {var progress = new FileProgress(file, ’fsUploadProgress’);progress.setStatus('等待...');progress.bindUploadCancel(up);_t.options.pluploadEach&&_t.options.pluploadEach(up,file); //每個文件上傳時處理函數 });},’BeforeUpload’: function (up, file) { // 每個文件上傳前,處理相關的事情 var name=_t.getName(file.name); var fileName = name.fileName; var suffix = name.suffixName; if ((/(mp4)|(mov)|(avi)|(wmv)|(flv)$/i.test(suffix))) {var fileSize = file.size;if (fileSize > _t.options.max_file_size * 1048576) { //alert('視頻過大,請聯系在線客服尋求幫助'); common.topTips.show({class: 'videoSize-tips',content: '視頻文件過大,無法上傳,請重新拍攝' }); $(’.videoSize-tips’).css('z-index','5'); setTimeout(function(){$(’.videoSize-tips’).remove(); },3000); uploader.removeFile(uploader.getFile(file.id)); return false;} else {} } else {common.popup({ text:'格式不支持,請選擇mov、mp4、avi、wmv、flv'});//alert('格式不支持,請選擇mov、mp4、avi、wmv、flv');uploader.removeFile(uploader.getFile(file.id));return false; } _t.options.beforeUpload&&_t.options.beforeUpload(up,file); // 每個文件上傳前,處理相關的事情 var progress = new FileProgress(file, ’fsUploadProgress’); var chunk_size = plupload.parseSize(this.getOption(’chunk_size’)); if (up.runtime === ’html5’ && chunk_size) {progress.setChunkProgess(chunk_size); }},’UploadProgress’: function (up, file) {// 每個文件上傳時,處理相關的事情 var progress = new FileProgress(file, ’fsUploadProgress’); var chunk_size = plupload.parseSize(this.getOption(’chunk_size’)); //progress.setProgress(file.percent + '%', file.speed, chunk_size); _t.options.uploadProgress&&_t.options.uploadProgress(up,file); // 每個文件上傳時,處理相關的事情},’UploadComplete’: function () { //隊列文件處理完畢后,處理相關的事情 _t.options.uploadComplete&&_t.options.uploadComplete(); //隊列文件處理完畢后,處理相關的事情},’FileUploaded’: function (up, file, info) { // 每個文件上傳成功后,處理相關的事情 var progress = new FileProgress(file, ’fsUploadProgress’); progress.setComplete(up, info); if(info){var dataJSON = JSON.parse(info);//t.key=dataJSON.key;//t.persistentId=dataJSON.persistentId;_t.options.fileUploaded&&_t.options.fileUploaded(up,file,dataJSON); // 每個文件上傳成功后,處理相關的事情 }},’Error’: function (up, err, errTip) {// 每個文件上傳失敗后,處理相關的事情 _t.options.fileUploadError&&_t.options.fileUploadError(); var progress = new FileProgress(err.file, ’fsUploadProgress’); progress.setError(); progress.setStatus(errTip);} }});
3.控制臺沒有報錯,代碼沒有問題,附幾張手機調用本地文件系統圖片
問題解答
回答1:沒有人遇見過嗎?
相關文章:
1. 想找個php大神仿個網站。2. nginx配置server模塊的問題3. css3 - Typecho 后臺部分表單按鈕在 Chrome 下出現靈異動畫問題,求解決4. javascript - 怎樣限制同一個瀏覽器不能登錄兩個賬號5. java - android代碼重構:如何把app設置里的頭像UI做成通用的?6. java - 新手做一個安卓視頻播放器,想實現一個進度條,按鈕那種在視頻下方懸浮的功能,不知道思路!7. javascript - jquery怎么給select option一個點擊時觸發的事件,如圖 如果選擇自定義觸發一個時間?8. javascript - angular和jquery都用到了$符號,一起用會不會沖突?9. 如何將行內塊元素的內容垂直水平兩個方向居中?10. mysql優化 - 關于mysql分區
