get('book').'-'. $request->get('par').'-'. Str::uuid().'.'.$request->get('format'); Mq::publish('export',[ 'book'=>$request->get('book'), 'para'=>$request->get('par'), 'channel'=>$request->get('channel'), 'format'=>$request->get('format'), 'origin'=>$request->get('origin'), 'translation'=>$request->get('translation'), 'filename'=>$filename, ]); return $this->ok($filename); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param string $id * @return \Illuminate\Http\Response */ public function show($filename) { // $exportChapter = new ExportChapter(); $exportStatus = $exportChapter->getStatus($filename); if(empty($exportStatus)){ return $this->error('no file',200,200); }; $output = array(); $output['status'] = $exportStatus; if($exportStatus['progress']===1){ $realFilename = $exportStatus['filename']; $bucket = config('mint.attachments.bucket_name.temporary'); $tmpFile = $bucket.'/'. $realFilename ; Log::debug('export download filename='.$tmpFile); if (App::environment('local')) { $s3Link = Storage::url($tmpFile); }else{ try{ $s3Link = Storage::temporaryUrl($tmpFile, now()->addDays(7)); }catch(\Exception $e){ Log::error('export {Exception}',['exception'=>$e]); return $this->error('temporaryUrl fail',404,404); } } $output['url'] = $s3Link; } return $this->ok($output); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }