@@ -923,6 +923,44 @@ function putObject() {
923923 } ) ;
924924}
925925
926+ // 简单上传 文件boby为base64
927+ function putObject_base64ToBlob ( ) {
928+ var base64Url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABRFBMVEUAAAAAo/8Ao/8Ao/8Ao/8ApP8Aov8Ao/8Abv8Abv8AyNwAyNwAo/8Ao/8Ao/8Abv8Ao/8AivgAo/8AyNwAbv8Abv8AydwApf8Abf8Ao/8AbP8Ao/8AyNwAydwAbv8AydwApP8Ao/8AyNwAo/8AyNwAydsAyNwAxd8Aov8AyNwAytsAo/8Abv8AyNwAbv8Av+MAo/8AytsAo/8Abv8AyNwAo/8Abv8AqfkAbv8Aov8Abv8AyNwAov8Abv8Ao/8Abv8Ao/8AydwAo/8Ao/8Ate8Ay9oAvOcAof8AveAAyNwAyNwAo/8AyNwAy9kAo/8AyNwAyNwAo/8AqP8Aaf8AyNwAbv0Abv8Abv8AaP8Ao/8Ao/8Ao/8Ao/8Abv8AyNwAgvcAaP8A0dkAo/8AyNwAav8Abv8Ao/8Abv8AyNwAy9sAvOUAtePdkYxjAAAAZnRSTlMAw/co8uAuJAn8+/Tt29R8DAX77+nZz87Jv6CTh3lxTklAPjouJRsL5tjAuLiyr62roaCakYp0XVtOQTMyLiohICAcGRP49vTv5+PJurawq6mnnJuYl4+OiIB7eXVvX15QSDgqHxNcw3l6AAABe0lEQVQ4y82P11oCQQxGIy5FUJpKk6aAhV6k92LvvXedDfj+92ZkYQHxnnMxu3/OfJMEJo6y++baXf5XVw22GVGcsRmq431mQZRYyIzRGgdXi+HwIv86NDBKisrRAtU1hSj9pkZ9jpo/9YKbRsmNNKCHDXI00BxfMMirKNpMcjQ5Lm4/YZArUXyBYUwg40nsdr5jb3LBe25VWpNeKa1GENsEnq52C80z1uW48estiKjb19G54QdCrScnKAU69U3KJ4jzrsBawDWPuOcBqMyRvlcb1Y+zjMUBVsivAKe4gXgEKiVjSh9wlunGMmwiOqFL3RI0cj+nkgp3jC1BELVFkGiZSuvkp3tZZWZ2sKCuDj185PXqfmwI7AAOUctHkJoOeXg3sxA4ES+l7CVvrYHMEmNp8GtR+wycPG0+1RrwWQUzl4CvgQmPP5Ddofl8tWkJVT7J+BIAaxEktrYZoRAUfXgOGYHfcOqw3WF/EdLccz5cMfvUCPb4QwUmhB8+v12HZPCkbgAAAABJRU5ErkJggg==' ;
929+ var dataURLtoBlob = function ( dataurl ) {
930+ var arr = dataurl . split ( ',' ) ;
931+ var mime = arr [ 0 ] . match ( / : ( .* ?) ; / ) [ 1 ] ;
932+ var bstr = atob ( arr [ 1 ] ) ;
933+ var n = bstr . length ;
934+ var u8arr = new Uint8Array ( n ) ;
935+ while ( n -- ) {
936+ u8arr [ n ] = bstr . charCodeAt ( n ) ;
937+ }
938+ return new Blob ( [ u8arr ] , { type : mime } ) ;
939+ } ;
940+ // 调用方法
941+ cos . putObject ( {
942+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
943+ Region : config . Region ,
944+ Key : 'base64_file.png' , /* 必须 */
945+ Body : dataURLtoBlob ( base64Url ) ,
946+ onTaskReady : function ( tid ) {
947+ logger . log ( 'onTaskReady' , tid ) ;
948+ } ,
949+ onTaskStart : function ( info ) {
950+ logger . log ( 'onTaskStart' , info ) ;
951+ } ,
952+ onProgress : function ( progressData ) {
953+ logger . log ( JSON . stringify ( progressData ) ) ;
954+ } ,
955+ Headers : {
956+ // 万象持久化接口,上传时持久化
957+ // 'Pic-Operations': '{"is_pic_info": 1, "rules": [{"fileid": "test.jpg", "rule": "imageMogr2/thumbnail/!50p"}]}'
958+ } ,
959+ } , function ( err , data ) {
960+ logger . log ( 'putObject:' , err || data ) ;
961+ } ) ;
962+ }
963+
926964function putObjectCopy ( ) {
927965 cos . putObjectCopy ( {
928966 Bucket : config . Bucket , // Bucket 格式:test-1250000000
@@ -1647,6 +1685,7 @@ function CIExample4(){
16471685 'abortUploadTask' ,
16481686 'selectObjectContent' ,
16491687 'putObject' ,
1688+ 'putObject_base64ToBlob' ,
16501689
16511690 'header-高级操作' ,
16521691 'sliceUploadFile' ,
@@ -1671,6 +1710,7 @@ function CIExample4(){
16711710 ] ;
16721711 var labelMap = {
16731712 putObject : '简单上传' ,
1713+ putObject_base64ToBlob : '简单上传:base64转blob' ,
16741714 sliceUploadFile : '分片上传' ,
16751715 sliceCopyFile : '分片复制' ,
16761716 uploadFiles : '批量上传文件' ,
0 commit comments