@@ -134,13 +134,14 @@ var mylog = function (msg) {
134134 duration : 3000
135135 } ) ;
136136} ;
137- var dao = {
137+
138+ var toolsDao = {
138139 'request' : function ( ) {
139140 // 对云上数据进行图片处理
140141 cos . request ( {
141142 Bucket : config . Bucket ,
142143 Region : config . Region ,
143- Key : '1 .png' ,
144+ Key : 'photo .png' ,
144145 Method : 'POST' ,
145146 Action : 'image_process' ,
146147 Headers : {
@@ -352,8 +353,11 @@ var dao = {
352353 } ) ;
353354 console . log ( url ) ;
354355 } ,
356+ } ;
357+
358+ var bucketDao = {
355359 // Service
356- getService : function ( ) {
360+ ' getService 获取存储桶列表' : function ( ) {
357361 cos . getService ( requestCallback ) ;
358362 } ,
359363 // 简单 Bucket 操作
@@ -363,12 +367,6 @@ var dao = {
363367 Region : config . Region ,
364368 } , requestCallback ) ;
365369 } ,
366- getBucket : function ( ) {
367- cos . getBucket ( {
368- Bucket : config . Bucket ,
369- Region : config . Region
370- } , requestCallback ) ;
371- } ,
372370 headBucket : function ( ) {
373371 cos . headBucket ( {
374372 Bucket : config . Bucket ,
@@ -497,7 +495,92 @@ var dao = {
497495 Region : config . Region
498496 } , requestCallback ) ;
499497 } ,
500- // Object
498+ } ;
499+
500+ var objectDao = {
501+ 'getBucket 获取对象列表' : function ( ) {
502+ cos . getBucket ( {
503+ Bucket : config . Bucket ,
504+ Region : config . Region
505+ } , requestCallback ) ;
506+ } ,
507+ // 上传文件适用于单请求上传大文件
508+ 'postObject 表单上传对象' : function ( ) {
509+ wx . chooseImage ( {
510+ count : 1 , // 默认9
511+ sizeType : [ 'original' ] , // 可以指定是原图还是压缩图,默认二者都有
512+ sourceType : [ 'album' , 'camera' ] , // 可以指定来源是相册还是相机,默认二者都有
513+ success : function ( res ) {
514+ var file = res . tempFiles [ 0 ] ;
515+ cos . postObject ( {
516+ Bucket : config . Bucket ,
517+ Region : config . Region ,
518+ Key : '1.png' ,
519+ FilePath : file . path ,
520+ onTaskReady : function ( taskId ) {
521+ TaskId = taskId
522+ } ,
523+ onProgress : function ( info ) {
524+ console . log ( JSON . stringify ( info ) ) ;
525+ }
526+ } , requestCallback ) ;
527+ }
528+ } )
529+ } ,
530+ 'putObject 简单上传文件' : function ( type ) {
531+ wx . chooseMessageFile ( {
532+ count : 10 ,
533+ type : 'all' ,
534+ success : function ( res ) {
535+ var file = res . tempFiles [ 0 ] ;
536+ wxfs . readFile ( {
537+ filePath : file . path ,
538+ success : function ( res ) {
539+ cos . putObject ( {
540+ Bucket : config . Bucket ,
541+ Region : config . Region ,
542+ Key : file . name ,
543+ Body : res . data , // 在小程序里,putObject 接口只允许传字符串的内容,不支持 TaskReady 和 onProgress,上传请使用 cos.postObject 接口
544+ Headers : {
545+ // 万象持久化接口,上传时持久化。例子:通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩
546+ // 'Pic-Operations': '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}'
547+ } ,
548+ } , requestCallback ) ;
549+ } ,
550+ fail : err => console . error ( err ) ,
551+ } ) ;
552+ } ,
553+ fail : err => console . error ( err ) ,
554+ } ) ;
555+ } ,
556+ 'putObject 上传字符串' : function ( type ) {
557+ cos . putObject ( {
558+ Bucket : config . Bucket ,
559+ Region : config . Region ,
560+ Key : '1.txt' ,
561+ Body : 'hello world' , // 在小程序里,putObject 接口只允许传字符串的内容,不支持 TaskReady 和 onProgress,上传请使用 cos.postObject 接口
562+ Headers : {
563+ aa : 123 ,
564+ } ,
565+ Query : {
566+ bb : 123 ,
567+ } ,
568+ } , requestCallback ) ;
569+ } ,
570+ // 上传文件
571+ 'putObject base64 转 ArrayBuffer 上传' : function ( ) {
572+ 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==' ;
573+ var m = ( / d a t a : i m a g e \/ ( \w + ) ; b a s e 6 4 , ( .* ) / . exec ( base64Url ) || [ ] ) ;
574+ var format = m [ 1 ] ;
575+ var bodyData = m [ 2 ] ;
576+ var fileBuf = wx . base64ToArrayBuffer ( bodyData ) ;
577+ cos . putObject ( {
578+ Bucket : config . Bucket ,
579+ Region : config . Region ,
580+ Key : '1.' + format ,
581+ Body : fileBuf ,
582+ } , requestCallback ) ;
583+ } ,
501584 getObject : function ( ) {
502585 cos . getObject ( {
503586 Bucket : config . Bucket ,
@@ -604,7 +687,61 @@ var dao = {
604687 // Level: 'bucket',
605688 } , requestCallback ) ;
606689 } ,
607- sliceCopyFile : function ( ) {
690+ }
691+
692+ var advanceObjectDao = {
693+ 'sliceUploadFile 分片上传' : function ( ) {
694+ var sliceUploadFile = function ( file ) {
695+ var key = file . name ;
696+ cos . sliceUploadFile ( {
697+ Bucket : config . Bucket ,
698+ Region : config . Region ,
699+ Key : key ,
700+ FilePath : file . path ,
701+ FileSize : file . size ,
702+ CacheControl : 'max-age=7200' ,
703+ Headers : {
704+ aa : 123 ,
705+ } ,
706+ Query : {
707+ bb : 123 ,
708+ } ,
709+ onTaskReady : function ( taskId ) {
710+ TaskId = taskId
711+ } ,
712+ onHashProgress : function ( info ) {
713+ console . log ( 'check hash' , JSON . stringify ( info ) ) ;
714+ } ,
715+ onProgress : function ( info ) {
716+ console . log ( JSON . stringify ( info ) ) ;
717+ }
718+ } , requestCallback ) ;
719+ } ;
720+ wx . chooseMessageFile ( {
721+ count : 10 ,
722+ type : 'all' ,
723+ success : function ( res ) {
724+ sliceUploadFile ( res . tempFiles [ 0 ] ) ;
725+ }
726+ } ) ;
727+ // wx.chooseVideo({
728+ // sourceType: ['album','camera'],
729+ // maxDuration: 60,
730+ // camera: 'back',
731+ // success(res) {
732+ // var name = res.tempFilePath.replace(/^.*?([^/]{32}\.\w+)$/, '$1');
733+ // sliceUploadFile({
734+ // name: name,
735+ // path: res.tempFilePath,
736+ // size: res.size,
737+ // });
738+ // },
739+ // fail(err) {
740+ // console.log(err);
741+ // }
742+ // })
743+ } ,
744+ 'sliceCopyFile 分片复制' : function ( ) {
608745 // 创建测试文件
609746 var sourceName = '1.txt' ;
610747 var Key = '1.slicecopy.exe' ;
@@ -638,6 +775,93 @@ var dao = {
638775 } ,
639776} ;
640777
778+ var ciObjectDao = {
779+ '上传时使用图片处理' : function ( ) {
780+ wx . chooseMessageFile ( {
781+ count : 10 ,
782+ type : 'all' ,
783+ success : function ( res ) {
784+ var file = res . tempFiles [ 0 ] ;
785+ wxfs . readFile ( {
786+ filePath : file . path ,
787+ success : function ( res ) {
788+ cos . putObject ( {
789+ Bucket : config . Bucket , // Bucket 格式:test-1250000000
790+ Region : config . Region ,
791+ Key : file . name ,
792+ Body : res . data ,
793+ Headers : {
794+ // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩
795+ 'Pic-Operations' :
796+ '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}' ,
797+ } ,
798+ } ,
799+ requestCallback ,
800+ ) ;
801+ } ,
802+ fail : ( err ) => console . error ( err ) ,
803+ } ) ;
804+ } ,
805+ fail : ( err ) => console . error ( err ) ,
806+ } ) ;
807+ } ,
808+ '对云上数据进行图片处理' : function ( ) {
809+ // 对云上数据进行图片处理
810+ cos . request ( {
811+ Bucket : config . Bucket ,
812+ Region : config . Region ,
813+ Key : 'photo.png' ,
814+ Method : 'POST' ,
815+ Action : 'image_process' ,
816+ Headers : {
817+ // 通过 imageMogr2 接口使用图片缩放功能:指定图片宽度为 200,宽度等比压缩
818+ 'Pic-Operations' : '{"is_pic_info": 1, "rules": [{"fileid": "desample_photo.jpg", "rule": "imageMogr2/thumbnail/200x/"}]}'
819+ } ,
820+ } , requestCallback ) ;
821+ } ,
822+ '下载时使用图片处理' : function ( ) {
823+ cos . getObject ( {
824+ Bucket : config . Bucket ,
825+ Region : config . Region ,
826+ Key : '1.png' ,
827+ QueryString : `imageMogr2/thumbnail/200x/` ,
828+ } , requestCallback ) ;
829+ } ,
830+ '生成带图片处理参数的签名 URL' : function ( ) {
831+ // 生成带图片处理参数的文件签名URL,过期时间设置为 30 分钟。
832+ cos . getObjectUrl ( {
833+ Bucket : config . Bucket ,
834+ Region : config . Region ,
835+ Key : 'photo.png' ,
836+ QueryString : `imageMogr2/thumbnail/200x/` ,
837+ Expires : 1800 ,
838+ Sign : true ,
839+ } ,
840+ ( err , data ) => {
841+ console . log ( '带签名' , err || data ) ;
842+ } ) ;
843+
844+ // 生成带图片处理参数的文件URL,不带签名。
845+ cos . getObjectUrl ( {
846+ Bucket : config . Bucket ,
847+ Region : config . Region ,
848+ Key : 'photo.png' ,
849+ QueryString : `imageMogr2/thumbnail/200x/` ,
850+ Sign : false ,
851+ } ,
852+ ( err , data ) => {
853+ console . log ( '不带签名' , err || data ) ;
854+ } ) ;
855+
856+ } ,
857+ }
858+
641859// require('./test');
642860
643- module . exports = dao ;
861+ module . exports = {
862+ toolsDao : toolsDao ,
863+ bucketDao : bucketDao ,
864+ objectDao : objectDao ,
865+ advanceObjectDao : advanceObjectDao ,
866+ ciObjectDao : ciObjectDao ,
867+ } ;
0 commit comments