zhangrl
zhangrl
  • 发布:2020-12-26 15:51
  • 更新:2020-12-26 15:51
  • 阅读:591

原生编辑视频传给前端本地地址,上传oss

分类:HTML5+

//v  = 原生本地视频路径  
fileInfo(v){  
           var file = typeof(v) === 'object' ? v : JSON.parse(v)  
           var reader = new plus.io.FileReader();  
           reader.onloadstart = function(e) {  
               // console.log('resolveLocalFileSystemURL onloadstart reader.result' + reader.result);  
               console.log("resolveLocalFileSystemURL onloadstart:" + JSON.stringify(e).substring(0,180));  
           }  
           reader.onload = function(e) {  
               // console.log('resolveLocalFileSystemURL onload reader.result' + reader.result);  
               console.log("resolveLocalFileSystemURL onload:" + JSON.stringify(e).substring(0,180));  
           }  
           reader.onabort = function(e) {  
               // console.log('resolveLocalFileSystemURL onabort reader.result' + reader.result);  
               console.log("resolveLocalFileSystemURL onabort:" + JSON.stringify(e).substring(0,180));  
           }  
           reader.onerror = function(e) {  
               // console.log('resolveLocalFileSystemURL onerror reader.result' + reader.result);  
               console.log("resolveLocalFileSystemURL onerror:" + JSON.stringify(e).substring(0,180));  
           }  
           reader.onloadend = function ( e ) {    
               console.log("resolveLocalFileSystemURL onloadend  e.target.result:" + e.target.result.substring(0,180));  
               // var blob = base64toBlob(reader.result, "UTF-8");  
               // console.log('resolveLocalFileSystemURL   blob :' , vueSelf.$center.dataURItoBlob(e.target.result))  
               try{  
                   var blob = dataURLtoBlob(e.target.result)  
                   console.log("resolveLocalFileSystemURL onloadend  blob :" + blob.substring(0,180));  
                   //BLOB对象转换为FILE对象     
                   var newfile = new File([blob],file.name);    
                   console.log("resolveLocalFileSystemURL  start" );    
                   console.log(newfile.size+'---'+newfile.name);    
                   console.log(entry.toLocalURL());    
                   console.log("resolveLocalFileSystemURL  end" );    
               }catch(e){  
                   //TODO handle the exception  
                   console.log('resolveLocalFileSystemURL cash' ,e)  
               }  
               // vueSelf.$center.fileUpload('mp4',blob)  
           }  
            reader.readAsDataURL(file, 'utf-8');    
           // reader.readAsText(file, 'utf-8');  
           //Base64转二进制  
           function  dataURLtoBlob(dataurl) {    
               var arr = dataurl.split(','),    
                   mime = arr[0].match(/:(.*?);/)[1],    
                   bstr = atob(arr[1]),    
                   n = bstr.length,    
                   u8arr = new Uint8Array(n);//8位无符号整数,长度1个字节    
               console.log(mime)    
               while (n--) {    
                   u8arr[n] = bstr.charCodeAt(n);    
               }    
               // console.log(JSON.stringify(u8arr));    
               return new Blob([u8arr], {    
                   type: mime    
               });    
           }  
        },
0 关注 分享

要回复文章请先登录注册