@@ -5,6 +5,7 @@ var fsextra = require("fs-extra");
55var extract = require ( 'extract-zip' )
66var config = require ( '../config' ) ;
77var _ = require ( 'lodash' ) ;
8+ var validator = require ( 'validator' ) ;
89var qiniu = require ( "qiniu" ) ;
910var common = { } ;
1011var AppError = require ( '../app-error' ) ;
@@ -17,6 +18,7 @@ common.createFileFromRequest = function (url, filePath) {
1718 fs . exists ( filePath , function ( exists ) {
1819 if ( ! exists ) {
1920 var request = require ( 'request' ) ;
21+ log . debug ( `createFileFromRequest url:${ url } ` )
2022 request ( url ) . on ( 'error' , function ( error ) {
2123 reject ( error ) ;
2224 } )
@@ -179,7 +181,7 @@ common.uploadFileToLocal = function (key, filePath) {
179181 stats = fs . statSync ( filePath ) ;
180182 if ( ! stats . isFile ( ) ) {
181183 var e = new AppError . AppError ( `${ filePath } must be file` ) ;
182- log . debug ( e ) ;
184+ log . error ( e ) ;
183185 throw e ;
184186 }
185187 fsextra . copy ( filePath , fileName , ( err ) => {
@@ -194,17 +196,16 @@ common.uploadFileToLocal = function (key, filePath) {
194196} ;
195197
196198common . getBlobDownloadUrl = function ( blobUrl ) {
197- var downloadUrl = '' ;
198199 var fileName = blobUrl ;
199- if ( _ . get ( config , 'common.storageType' ) === 'local' ) {
200- downloadUrl = _ . get ( config , 'local.downloadUrl' ) ;
200+ var storageType = _ . get ( config , 'common.storageType' ) ;
201+ var downloadUrl = _ . get ( config , `${ storageType } .downloadUrl` ) ;
202+ if ( storageType === 'local' ) {
201203 fileName = blobUrl . substr ( 0 , 2 ) . toLowerCase ( ) + '/' + blobUrl ;
202- } else if ( _ . get ( config , 'common.storageType' ) === 's3' ) {
203- downloadUrl = _ . get ( config , 's3.downloadUrl' ) ;
204- } else if ( _ . get ( config , 'common.storageType' ) === 'oss' ) {
205- downloadUrl = _ . get ( config , 'oss.downloadUrl' ) ;
206- } else if ( _ . get ( config , 'common.storageType' ) === 'qiniu' ) {
207- downloadUrl = _ . get ( config , 'qiniu.downloadUrl' ) ;
204+ }
205+ if ( ! validator . isURL ( downloadUrl ) ) {
206+ var e = new AppError . AppError ( `Please config ${ storageType } .downloadUrl in config.js` ) ;
207+ log . error ( e ) ;
208+ throw e ;
208209 }
209210 return `${ downloadUrl } /${ fileName } `
210211} ;
0 commit comments