@@ -108,7 +108,7 @@ const base64progress = function (p) {
108
108
* @param filename set up a meaningful suffix, or you can set mime type in options
109
109
* @returns {File|* }
110
110
*/
111
- function dataURLtoFile ( dataurl , filename ) {
111
+ const dataURLtoFile = function dataURLtoFile ( dataurl , filename ) {
112
112
const arr = dataurl . split ( ',' ) ;
113
113
const mime = arr [ 0 ] . match ( / : ( .* ?) ; / ) [ 1 ] ;
114
114
const bstr = atob ( arr [ 1 ] ) ;
@@ -118,10 +118,9 @@ function dataURLtoFile(dataurl, filename) {
118
118
u8arr [ n ] = bstr . charCodeAt ( n ) ;
119
119
}
120
120
return new Blob ( [ u8arr ] , { type : mime } ) ; // if env support File, also can use this: return new File([u8arr], filename, { type: mime });
121
- }
122
-
121
+ } ;
123
122
124
- const uploadBase64Img = function ( client ) {
123
+ const uploadBase64Img = function uploadBase64Img ( client ) {
125
124
const base64Content = document . getElementById ( 'base64-file-content' ) . value . trim ( ) ;
126
125
const key = document . getElementById ( 'base64-object-key-file' ) . value . trim ( ) || 'object' ;
127
126
if ( base64Content . indexOf ( 'data:image' ) === 0 ) {
@@ -226,6 +225,38 @@ const downloadFile = function (client) {
226
225
return result ;
227
226
} ;
228
227
228
+ const cnameUsage = function ( cname ) {
229
+ if ( ! cname ) {
230
+ alert ( '请输入cname!' ) ;
231
+ return ;
232
+ }
233
+ const url = appServer ;
234
+ $ . ajax ( {
235
+ url,
236
+ } ) . then ( ( result ) => {
237
+ const creds = result ;
238
+ const client = new OSS . Wrapper ( {
239
+ accessKeyId : creds . AccessKeyId ,
240
+ accessKeySecret : creds . AccessKeySecret ,
241
+ stsToken : creds . SecurityToken ,
242
+ endpoint : cname ,
243
+ cname : true ,
244
+ region,
245
+ bucket,
246
+ } ) ;
247
+
248
+ const filename = document . getElementById ( 'key-cname-objectName' ) . value . trim ( ) ;
249
+ console . log ( filename ) ;
250
+
251
+ const res = client . signatureUrl ( filename , {
252
+ response : {
253
+ 'content-disposition' : `attachment; filename="${ filename } "` ,
254
+ } ,
255
+ } ) ;
256
+ window . location = res ;
257
+ } ) ;
258
+ } ;
259
+
229
260
window . onload = function ( ) {
230
261
document . getElementById ( 'file-button' ) . onclick = function ( ) {
231
262
if ( uploadFileClient ) {
@@ -265,5 +296,10 @@ window.onload = function () {
265
296
applyTokenDo ( uploadBase64Img ) ;
266
297
} ;
267
298
299
+ document . getElementById ( 'key-cname-button' ) . onclick = function ( ) {
300
+ const cname = document . getElementById ( 'key-cname' ) . value ;
301
+ cnameUsage ( cname ) ;
302
+ } ;
303
+
268
304
applyTokenDo ( listFiles ) ;
269
305
} ;
0 commit comments