11( function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f } var l = n [ o ] = { exports :{ } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ?n :e ) } , l , l . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ) ( { 1 :[ function ( require , module , exports ) {
2+ ( function ( global ) {
3+
4+ var rng ;
5+
6+ if ( global . crypto && crypto . getRandomValues ) {
7+ // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto
8+ // Moderately fast, high quality
9+ var _rnds8 = new Uint8Array ( 16 ) ;
10+ rng = function whatwgRNG ( ) {
11+ crypto . getRandomValues ( _rnds8 ) ;
12+ return _rnds8 ;
13+ } ;
14+ }
15+
16+ if ( ! rng ) {
17+ // Math.random()-based (RNG)
18+ //
19+ // If all else fails, use Math.random(). It's fast, but is of unspecified
20+ // quality.
21+ var _rnds = new Array ( 16 ) ;
22+ rng = function ( ) {
23+ for ( var i = 0 , r ; i < 16 ; i ++ ) {
24+ if ( ( i & 0x03 ) === 0 ) r = Math . random ( ) * 0x100000000 ;
25+ _rnds [ i ] = r >>> ( ( i & 0x03 ) << 3 ) & 0xff ;
26+ }
27+
28+ return _rnds ;
29+ } ;
30+ }
31+
32+ module . exports = rng ;
33+
34+
35+ } ) . call ( this , typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : { } )
36+ } , { } ] , 2 :[ function ( require , module , exports ) {
37+ // uuid.js
38+ //
39+ // Copyright (c) 2010-2012 Robert Kieffer
40+ // MIT License - http://opensource.org/licenses/mit-license.php
41+
42+ // Unique ID creation requires a high quality random # generator. We feature
43+ // detect to determine the best RNG source, normalizing to a function that
44+ // returns 128-bits of randomness, since that's what's usually required
45+ var _rng = require ( './rng' ) ;
46+
47+ // Maps for number <-> hex string conversion
48+ var _byteToHex = [ ] ;
49+ var _hexToByte = { } ;
50+ for ( var i = 0 ; i < 256 ; i ++ ) {
51+ _byteToHex [ i ] = ( i + 0x100 ) . toString ( 16 ) . substr ( 1 ) ;
52+ _hexToByte [ _byteToHex [ i ] ] = i ;
53+ }
54+
55+ // **`parse()` - Parse a UUID into it's component bytes**
56+ function parse ( s , buf , offset ) {
57+ var i = ( buf && offset ) || 0 , ii = 0 ;
58+
59+ buf = buf || [ ] ;
60+ s . toLowerCase ( ) . replace ( / [ 0 - 9 a - f ] { 2 } / g, function ( oct ) {
61+ if ( ii < 16 ) { // Don't overflow!
62+ buf [ i + ii ++ ] = _hexToByte [ oct ] ;
63+ }
64+ } ) ;
65+
66+ // Zero out remaining bytes if string was short
67+ while ( ii < 16 ) {
68+ buf [ i + ii ++ ] = 0 ;
69+ }
70+
71+ return buf ;
72+ }
73+
74+ // **`unparse()` - Convert UUID byte array (ala parse()) into a string**
75+ function unparse ( buf , offset ) {
76+ var i = offset || 0 , bth = _byteToHex ;
77+ return bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] +
78+ bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] + '-' +
79+ bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] + '-' +
80+ bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] + '-' +
81+ bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] + '-' +
82+ bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] +
83+ bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] +
84+ bth [ buf [ i ++ ] ] + bth [ buf [ i ++ ] ] ;
85+ }
86+
87+ // **`v1()` - Generate time-based UUID**
88+ //
89+ // Inspired by https://github.com/LiosK/UUID.js
90+ // and http://docs.python.org/library/uuid.html
91+
92+ // random #'s we need to init node and clockseq
93+ var _seedBytes = _rng ( ) ;
94+
95+ // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
96+ var _nodeId = [
97+ _seedBytes [ 0 ] | 0x01 ,
98+ _seedBytes [ 1 ] , _seedBytes [ 2 ] , _seedBytes [ 3 ] , _seedBytes [ 4 ] , _seedBytes [ 5 ]
99+ ] ;
100+
101+ // Per 4.2.2, randomize (14 bit) clockseq
102+ var _clockseq = ( _seedBytes [ 6 ] << 8 | _seedBytes [ 7 ] ) & 0x3fff ;
103+
104+ // Previous uuid creation time
105+ var _lastMSecs = 0 , _lastNSecs = 0 ;
106+
107+ // See https://github.com/broofa/node-uuid for API details
108+ function v1 ( options , buf , offset ) {
109+ var i = buf && offset || 0 ;
110+ var b = buf || [ ] ;
111+
112+ options = options || { } ;
113+
114+ var clockseq = options . clockseq !== undefined ? options . clockseq : _clockseq ;
115+
116+ // UUID timestamps are 100 nano-second units since the Gregorian epoch,
117+ // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
118+ // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
119+ // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
120+ var msecs = options . msecs !== undefined ? options . msecs : new Date ( ) . getTime ( ) ;
121+
122+ // Per 4.2.1.2, use count of uuid's generated during the current clock
123+ // cycle to simulate higher resolution clock
124+ var nsecs = options . nsecs !== undefined ? options . nsecs : _lastNSecs + 1 ;
125+
126+ // Time since last uuid creation (in msecs)
127+ var dt = ( msecs - _lastMSecs ) + ( nsecs - _lastNSecs ) / 10000 ;
128+
129+ // Per 4.2.1.2, Bump clockseq on clock regression
130+ if ( dt < 0 && options . clockseq === undefined ) {
131+ clockseq = clockseq + 1 & 0x3fff ;
132+ }
133+
134+ // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
135+ // time interval
136+ if ( ( dt < 0 || msecs > _lastMSecs ) && options . nsecs === undefined ) {
137+ nsecs = 0 ;
138+ }
139+
140+ // Per 4.2.1.2 Throw error if too many uuids are requested
141+ if ( nsecs >= 10000 ) {
142+ throw new Error ( 'uuid.v1(): Can\'t create more than 10M uuids/sec' ) ;
143+ }
144+
145+ _lastMSecs = msecs ;
146+ _lastNSecs = nsecs ;
147+ _clockseq = clockseq ;
148+
149+ // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
150+ msecs += 12219292800000 ;
151+
152+ // `time_low`
153+ var tl = ( ( msecs & 0xfffffff ) * 10000 + nsecs ) % 0x100000000 ;
154+ b [ i ++ ] = tl >>> 24 & 0xff ;
155+ b [ i ++ ] = tl >>> 16 & 0xff ;
156+ b [ i ++ ] = tl >>> 8 & 0xff ;
157+ b [ i ++ ] = tl & 0xff ;
158+
159+ // `time_mid`
160+ var tmh = ( msecs / 0x100000000 * 10000 ) & 0xfffffff ;
161+ b [ i ++ ] = tmh >>> 8 & 0xff ;
162+ b [ i ++ ] = tmh & 0xff ;
163+
164+ // `time_high_and_version`
165+ b [ i ++ ] = tmh >>> 24 & 0xf | 0x10 ; // include version
166+ b [ i ++ ] = tmh >>> 16 & 0xff ;
167+
168+ // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
169+ b [ i ++ ] = clockseq >>> 8 | 0x80 ;
170+
171+ // `clock_seq_low`
172+ b [ i ++ ] = clockseq & 0xff ;
173+
174+ // `node`
175+ var node = options . node || _nodeId ;
176+ for ( var n = 0 ; n < 6 ; n ++ ) {
177+ b [ i + n ] = node [ n ] ;
178+ }
179+
180+ return buf ? buf : unparse ( b ) ;
181+ }
182+
183+ // **`v4()` - Generate random UUID**
184+
185+ // See https://github.com/broofa/node-uuid for API details
186+ function v4 ( options , buf , offset ) {
187+ // Deprecated - 'format' argument, as supported in v1.2
188+ var i = buf && offset || 0 ;
189+
190+ if ( typeof ( options ) == 'string' ) {
191+ buf = options == 'binary' ? new Array ( 16 ) : null ;
192+ options = null ;
193+ }
194+ options = options || { } ;
195+
196+ var rnds = options . random || ( options . rng || _rng ) ( ) ;
197+
198+ // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
199+ rnds [ 6 ] = ( rnds [ 6 ] & 0x0f ) | 0x40 ;
200+ rnds [ 8 ] = ( rnds [ 8 ] & 0x3f ) | 0x80 ;
201+
202+ // Copy bytes to buffer, if provided
203+ if ( buf ) {
204+ for ( var ii = 0 ; ii < 16 ; ii ++ ) {
205+ buf [ i + ii ] = rnds [ ii ] ;
206+ }
207+ }
208+
209+ return buf || unparse ( rnds ) ;
210+ }
211+
212+ // Export public API
213+ var uuid = v4 ;
214+ uuid . v1 = v1 ;
215+ uuid . v4 = v4 ;
216+ uuid . parse = parse ;
217+ uuid . unparse = unparse ;
218+
219+ module . exports = uuid ;
220+
221+ } , { "./rng" :1 } ] , 3 :[ function ( require , module , exports ) {
2222'use strict' ;
3223
4224function _interopRequireDefault ( obj ) { return obj && obj . __esModule ? obj : { 'default' : obj } ; }
@@ -59,7 +279,7 @@ DeepUploader.browseHandler = function () {
59279
60280window . DeepUploader = DeepUploader ;
61281
62- } , { "./file_trigger" :3 , "./uploaders/qiniu_uploader" :5 } ] , 2 :[ function ( require , module , exports ) {
282+ } , { "./file_trigger" :5 , "./uploaders/qiniu_uploader" :7 } ] , 4 :[ function ( require , module , exports ) {
63283"use strict" ;
64284
65285Object . defineProperty ( exports , "__esModule" , {
@@ -80,7 +300,7 @@ EventTrigger.trigger = function (element, eventName) {
80300exports [ "default" ] = EventTrigger ;
81301module . exports = exports [ "default" ] ;
82302
83- } , { } ] , 3 :[ function ( require , module , exports ) {
303+ } , { } ] , 5 :[ function ( require , module , exports ) {
84304'use strict' ;
85305
86306Object . defineProperty ( exports , '__esModule' , {
@@ -138,7 +358,7 @@ FileTrigger.trigger = function (element, profile, callback) {
138358exports [ 'default' ] = FileTrigger ;
139359module . exports = exports [ 'default' ] ;
140360
141- } , { "./event_trigger" :2 } ] , 4 :[ function ( require , module , exports ) {
361+ } , { "./event_trigger" :4 } ] , 6 :[ function ( require , module , exports ) {
142362'use strict' ;
143363
144364Object . defineProperty ( exports , '__esModule' , {
@@ -155,6 +375,10 @@ var _event_trigger = require('../event_trigger');
155375
156376var _event_trigger2 = _interopRequireDefault ( _event_trigger ) ;
157377
378+ var _uuid = require ( 'uuid' ) ;
379+
380+ var _uuid2 = _interopRequireDefault ( _uuid ) ;
381+
158382var BaseUploader = ( function ( ) {
159383 function BaseUploader ( element , profile , file ) {
160384 _classCallCheck ( this , BaseUploader ) ;
@@ -174,6 +398,19 @@ var BaseUploader = (function () {
174398 xhr : this . xhr
175399 } ;
176400 }
401+ } , {
402+ key : 'filename' ,
403+ value : function filename ( ) {
404+ var date = new Date ( ) ;
405+ var year = date . getFullYear ( ) ;
406+ var month = date . getMonth ( ) + 1 ;
407+ month = month > 10 ? month : '0' + month ;
408+
409+ var fileExt = this . file . name . split ( '.' ) . pop ( ) || 'tmp' ;
410+ var fileName = _uuid2 [ 'default' ] . v4 ( ) ;
411+
412+ return year + '/' + month + '/' + fileName + '.' + fileExt ;
413+ }
177414 } , {
178415 key : 'start' ,
179416 value : function start ( ) {
@@ -193,10 +430,11 @@ var BaseUploader = (function () {
193430 } , {
194431 key : 'onBeforeUpload' ,
195432 value : function onBeforeUpload ( callback ) {
433+ var filename = this . filename ( ) ;
196434 this . formData = new FormData ( ) ;
197435 this . formData . append ( 'file' , this . file ) ;
198- this . formData . append ( 'name' , this . file . name ) ;
199- this . formData . append ( 'key' , this . file . name ) ;
436+ // this.formData.append('name', filename );
437+ this . formData . append ( 'key' , filename ) ;
200438
201439 callback ( ) ;
202440 }
@@ -268,7 +506,7 @@ var BaseUploader = (function () {
268506exports [ 'default' ] = BaseUploader ;
269507module . exports = exports [ 'default' ] ;
270508
271- } , { "../event_trigger" :2 } ] , 5 :[ function ( require , module , exports ) {
509+ } , { "../event_trigger" :4 , "uuid" : 2 } ] , 7 :[ function ( require , module , exports ) {
272510// http://developer.qiniu.com/docs/v6/api/overview/up/form-upload.html
273511// http://jssdk.demo.qiniu.io/
274512
@@ -341,8 +579,7 @@ var QiniuUploader = (function (_BaseUploader) {
341579 var self = this ;
342580
343581 _get ( Object . getPrototypeOf ( QiniuUploader . prototype ) , 'onFileUploaded' , this ) . call ( this , data , function ( ) {
344- var filename = encodeURIComponent ( self . response . key ) ;
345- self . response . url = self . profile . domain + filename ;
582+ self . response . url = self . profile . domain + self . response . key ;
346583
347584 callback ( ) ;
348585 } ) ;
@@ -355,4 +592,4 @@ var QiniuUploader = (function (_BaseUploader) {
355592exports [ 'default' ] = QiniuUploader ;
356593module . exports = exports [ 'default' ] ;
357594
358- } , { "./base_uploader" :4 } ] } , { } , [ 1 ] ) ;
595+ } , { "./base_uploader" :6 } ] } , { } , [ 3 ] ) ;
0 commit comments