zoukankan      html  css  js  c++  java
  • base64上传到oss

    1. 将 base64转换为 blob

    [-- oss支持直接从客户端提交base64编码保存图片吗 --]

    	//**dataURL to blob**
    function dataURLtoBlob(dataurl) {
    	debugger
    	var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
    		bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
    	while (n--) {
    		u8arr[n] = bstr.charCodeAt(n);
    	}
    	return new Blob([u8arr], { type: mime });
    }
    
    //**blob to dataURL**
    function blobToDataURL(blob, callback) {
    	var a = new FileReader();
    	a.onload = function (e) { callback(e.target.result); };
    	a.readAsDataURL(blob);
    }
    
    
    
     var _file = dataURLtoBlob(c); // c就是base64字符串
    
    //Blob_test();
    function Blob_test(){
    	var blob;
    	if(!window.Blob)
    		console.log('不支持');
    	else
    		blob = _file;
    	if(window.URL){
    		document.getElementById("mybody").innerHTML = '<a download href="' + window.URL.createObjectURL(blob) + '" target="_blank">文件下载</a>';
    	}
    }
    
    Blob_test()
    

     

    2. 将 blob上传到 oss

    var form = new FormData()
    form.append('signature', this.ossData.signature)
    form.append('accessKey', this.ossData.accessKey)
    form.append('policy', this.ossData.policy)
    form.append('key', key)
    
    var _fileBlob = dataURLtoBlob(base64) // c就是base64字符串
    form.append('file', _fileBlob)
    
    var req = new XMLHttpRequest()
    req.open('post', this.actionUrl, false)
    req.send(form)	
    

      

      

  • 相关阅读:
    Java文件流应用:复制文件
    Java IO流之文件流
    初识Java-IO流
    Java集合之Properties
    Java之FilenameFilter接口
    Java之File类
    Java内部类
    Java常用类之要点总结
    Java异常类(Throwable)
    php分布式缓存系统 Memcached 入门
  • 原文地址:https://www.cnblogs.com/kongge/p/10960460.html
Copyright © 2011-2022 走看看