@@ -73,6 +73,10 @@ export class BrowserController {
7373 let stream ;
7474
7575 try {
76+
77+ if ( ! params ) {
78+ throw "Incorrect params" ;
79+ }
7680
7781 fileEntry = await this . browserService . find ( params . id ) ;
7882
@@ -88,7 +92,7 @@ export class BrowserController {
8892 res . set ( {
8993 'Content-Type' : 'application/pdf' ,
9094 'Content-Length' : stream . length ,
91- 'Content-Disposition' : 'form-data;filename="' + fileEntry . filename + '"'
95+ 'Content-Disposition' : 'form-data;filename="' + fileEntry . filename_return + '.pdf "'
9296 } ) ;
9397
9498 stream . pipe ( oppressor ( req ) ) . pipe ( res ) ;
@@ -131,7 +135,7 @@ export class BrowserController {
131135 res . status ( HttpStatus . OK ) . json (
132136 {
133137 "id" : fileEntry . id ,
134- "filename" : fileEntry . filename ,
138+ "filename" : fileEntry . filename_return ,
135139 "path" : this . signature . sign ( `${ req . protocol } ://${ req . headers . host } /api/browse/${ fileEntry . id } ` ) ,
136140 "created_at" : fileEntry . created_at ,
137141 "updated_at" : fileEntry . updated_at ,
@@ -174,9 +178,19 @@ export class BrowserController {
174178 @ApiTags ( "Create pdf documents" )
175179 async create ( @Body ( ) createSession : CreateBrowserDto , @Res ( ) res : Response , @Req ( ) request :Request ) {
176180
177- let result = await this . browserService . savePage ( createSession . url ) ;
181+ // Create the database entry for the file
182+ let browseEntry : Browse = new Browse ( ) ;
183+
184+ browseEntry . id = uuidv4 ( ) ;
185+ browseEntry . filename = browseEntry . id ;
186+ browseEntry . filename_return = ( createSession . filename ? createSession . filename . toString ( ) : browseEntry . id . toString ( ) ) ;
187+ browseEntry . autodelete = createSession . autodelete ;
188+
189+ this . browserService . create ( browseEntry ) ;
190+
191+ let result = await this . browserService . savePage ( createSession . url , browseEntry . id , createSession . filename ? createSession . filename : browseEntry . id ) ;
178192 let resultUpload = false ;
179- let resultUploadFailed = false ;
193+ let resultUploadFailed = false ;
180194
181195 createSession . autodelete = createSession . autodelete == true ;
182196 createSession . postBackWait = createSession . postBackWait == true ;
@@ -206,21 +220,12 @@ export class BrowserController {
206220
207221 }
208222
209- // Create the database entry for the file
210- let browseEntry : Browse = new Browse ( ) ;
211-
212- browseEntry . id = result . id . toString ( ) ;
213- browseEntry . filename = ( createSession . filename ? createSession . filename . toString ( ) : result . id . toString ( ) ) + '.pdf' ;
214- browseEntry . autodelete = resultUploadFailed || createSession . autodelete ;
215-
216- this . browserService . create ( browseEntry ) ;
217-
218223 res . status ( HttpStatus . OK ) . json ( new PdfResult ( {
219224 statusCode : HttpStatus . OK ,
220225 requestUrl : createSession . url ,
221226 downloadUrl : resultUpload == false ? this . signature . sign ( `${ request . protocol } ://${ request . headers . host } /api/browse/${ result . id } ` ) : null ,
222227 id : result . id ,
223- filename : browseEntry . filename ,
228+ filename : browseEntry . filename_return ,
224229 uploaded : resultUpload ,
225230 waited : createSession . postBackWait ,
226231 autodelete : createSession . autodelete
0 commit comments