Download files using rest api laravel in Postman

0

I am designing a small file export service in laravel using phpoffice and dompdf. My implementation generates the files, but when I try it in postman to see how the download mechanism works I get this:

Instead of a download event occurring as if I were browsing, I only preview the file. I do not understand why?

My code:

public function excel(Request $request){

        $validator=Validator::make($request->all(),[
            'title'=>'required',
            'items'=>'required'

        ]);
            if($validator->fails()){
                 return response()->json(['error'=>$validator->errors()->all()],404);
            }

         $data=$this->getControl($request->items);
         $keys=$data['keys'];
         $values=$data['values'];

       /*  $spreadsheet = new Spreadsheet();
         $sheet = $spreadsheet->getActiveSheet();
         $greenNotBold = array("font" => array("bold" => true,"size"=>12,),);*/
               //crear lector de office 
         $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); 
         $reader->setReadDataOnly(FALSE);
         $spreadsheet = $reader->load("../storage/test.xlsx");
         $spreadsheet->setActiveSheetIndex(0);
         $worksheet = $spreadsheet->getActiveSheet();  //obtiene la hoja de calculo

          $theme=$this->find('$Subject',$worksheet);
          $titleCoordinate=$this->find('$column',$worksheet);
          $valueCoordinate=$this->find('$values',$worksheet);


           if($theme){
             $greenNotBold = array("font" => array("bold" => true,"size" => 20,),);
             $column=$worksheet->getCell($theme)->getColumn();
             $worksheet->getColumnDimension($column)
             ->setAutoSize(false);
             //$worksheet->mergeCells($theme:$theme[0])->getAlignment()->setWrapText(true); 
             $worksheet->getStyle($theme)
                                  ->applyFromArray($greenNotBold);


             $worksheet->setCellValue($theme,$request->title); 

           }



        if($titleCoordinate!==null && $valueCoordinate!==null ){
            $column=$worksheet->getCell($titleCoordinate)->getColumn();
            $valuecol=$worksheet->getCell($valueCoordinate)->getColumn();
           ///  return response('sdf',200);
            $greenNotBold = array("font" => array("bold" => true,"size" => 12,),);
           $worksheet->fromArray($keys,NULL,$titleCoordinate);
           $worksheet->getStyle($titleCoordinate.':'.chr(ord($titleCoordinate)+sizeof($keys)).$worksheet->getCell($titleCoordinate)->getRow())
                          ->applyFromArray($greenNotBold);

          $worksheet->fromArray($values,NULL,$valueCoordinate);
          $writer=new Xlsx($spreadsheet);
          $writer->save('../storage/'.$request->title.'.xlsx');

        }



         return response()->download('../storage/'.$request->title.'.xlsx','nameoffile.pdf')->deleteFileAfterSend(true);
    }
    
asked by Josué Becerra 02.03.2018 в 21:47
source

0 answers