@@ -88,20 +88,20 @@ module.exports = function (middleware, options) {
88
88
} ) ;
89
89
} ;
90
90
91
- var move = function ( source , targetDir , callback ) {
91
+ var move = function ( source , target , targetDir , callback ) {
92
92
fs . exists ( targetDir , function ( exists ) {
93
93
if ( ! exists ) {
94
94
mkdirp ( targetDir , function ( err ) {
95
95
if ( err )
96
96
callback ( err ) ;
97
97
else
98
- move ( source , targetDir , callback ) ;
98
+ move ( source , target , targetDir , callback ) ;
99
99
} ) ;
100
100
} else {
101
101
fs . stat ( source , function ( err , stat ) {
102
102
if ( ! err ) {
103
103
if ( stat . isFile ( ) ) {
104
- safeName ( targetDir , path . basename ( source ) , function ( safename ) {
104
+ safeName ( targetDir , path . basename ( target ) , function ( safename ) {
105
105
moveFile ( source , targetDir + '/' + safename , function ( err ) {
106
106
callback ( err , safename ) ;
107
107
} ) ;
@@ -117,12 +117,16 @@ module.exports = function (middleware, options) {
117
117
} ) ;
118
118
} ;
119
119
120
- FileManager . prototype . move = function ( filename , targetDir , callback ) {
120
+ FileManager . prototype . move = function ( moveOptions , callback ) {
121
121
122
122
var targetUrl ;
123
+ var filename = moveOptions . filename ;
124
+ var targetFilename = moveOptions . targetFilename || filename ;
125
+ var targetDir = moveOptions . targetDir || "" ;
123
126
124
127
// for safety
125
128
filename = path . basename ( filename ) . replace ( / ^ \. + / , '' ) ;
129
+ targetFilename = path . basename ( targetFilename ) . replace ( / ^ \. + / , '' ) ;
126
130
127
131
if ( ! targetDir . match ( / ^ \/ / ) ) {
128
132
targetUrl = options . targetUrl ( ) + '/' + targetDir ;
@@ -133,7 +137,7 @@ module.exports = function (middleware, options) {
133
137
fs . stat ( options . uploadDir ( ) + '/' + filename , function ( err , stat ) {
134
138
if ( ! err ) {
135
139
if ( stat . isFile ( ) ) {
136
- move ( options . uploadDir ( ) + '/' + filename , targetDir , function ( err , safename ) {
140
+ move ( options . uploadDir ( ) + '/' + filename , targetFilename , targetDir , function ( err , safename ) {
137
141
if ( err ) {
138
142
callback ( err ) ;
139
143
} else {
@@ -156,7 +160,7 @@ module.exports = function (middleware, options) {
156
160
counter ++ ;
157
161
fs . exists ( options . uploadDir ( ) + '/' + version + '/' + filename , function ( exists ) {
158
162
if ( exists ) {
159
- move ( options . uploadDir ( ) + '/' + version + '/' + filename , targetDir + '/' + version + '/' , function ( err , safename ) {
163
+ move ( options . uploadDir ( ) + '/' + version + '/' + filename , targetFilename , targetDir + '/' + version + '/' , function ( err , safename ) {
160
164
if ( ! err && relative )
161
165
urls [ version + '_url' ] = targetUrl + '/' + version + '/' + safename ;
162
166
finish ( err ) ;
0 commit comments