/**
  * 获取Filesystem
  * @return Filesystem
  */
 public static function getFileSystem()
 {
     if (is_null(static::$driver)) {
         static::$driver = \Storage::drive('local');
     }
     return static::$driver;
 }
示例#2
0
 public function postPdfInvoice()
 {
     $data = \Request::get("jsonData");
     $data = utf8_encode($data);
     $facturas = json_decode($data, true);
     //$view = $this->viewInvoice($facturas[0]);
     //return $view;
     /*Generamos ZIP*/
     $uid = uniqid();
     $zip = new \Chumper\Zipper\Zipper();
     $zip->make(storage_path() . "/app/tmp/{$uid}/facturas.zip");
     $tmpDir = "/tmp/{$uid}";
     $this->tmpDir = storage_path('app') . $tmpDir;
     /*Insertamos cada factura en el zip*/
     foreach ($facturas as $factura) {
         $view = $this->viewInvoice($factura);
         $view = str_replace("localhost:8080", "localhost", $view);
         $pdfContents = \PDF::loadHTML($view)->setPaper('a4')->setOption('margin-right', 0)->setOption('margin-bottom', 0)->setOption('margin-left', 0)->setOption('margin-top', 0)->output();
         $nombreFact = "factura-{$factura['id']['serfac']}-{$factura['id']['ejefac']}-{$factura['id']['numfac']}.pdf";
         $zip->addString($nombreFact, $pdfContents);
         $uidPdf = uniqid();
         \File::put($this->tmpDir . "/{$uidPdf}.pdf", $pdfContents);
         $this->invoicesToWebRefresh[$uidPdf] = $factura;
     }
     /*$return = $this->refreshWeb();
     
             if($return != "ok") {
                 die($return);
             }*/
     /*Cerramos ZIP, eliminamos temportal y  descargamos*/
     $zip->close();
     $response = \Response::make(file_get_contents(storage_path() . "/app/tmp/{$uid}/facturas.zip"));
     \Storage::drive("local")->deleteDirectory("tmp/{$uid}");
     $response->header('Content-Disposition', 'attachment; filename="facturas.zip"');
     $response->header('Content-Length', strlen($response->getOriginalContent()));
     \File::deleteDirectory(storage_path("app") . "/tmp/{$uid}");
     return $response;
 }
示例#3
0
 public function postExportPdf(Request $request)
 {
     $ids = null;
     if ($request->exists("checkall")) {
         $filter = !is_null($request->input('search')) ? $this->buildSearch() : '';
         $args["params"] = $filter;
         $rows = $this->model->getRows($args);
         foreach ($rows["rows"] as $row) {
             $ids[] = $row->id;
         }
     }
     if (!$ids) {
         $ids = $request->input('ids');
     }
     if (count($ids) > 0) {
         $uid = uniqid();
         $zip = new \Chumper\Zipper\Zipper();
         $zip->make(storage_path() . "/app/tmp/{$uid}/facturas.zip");
         foreach ($ids as $id) {
             $view = $this->getHtmlContent($id);
             $nombreFact = "factura-{$this->data['row']->serfac}-{$this->data['row']->ejefac}-{$this->data['row']->numfac}.pdf";
             $pdfContents = \PDF::loadHTML($view)->setPaper('a4')->setOption('margin-right', 0)->setOption('margin-bottom', 0)->setOption('margin-left', 0)->setOption('margin-top', 0)->output();
             $zip->addString($nombreFact, $pdfContents);
             $this->data['subgrid'] = isset($this->info['config']['subgrid']) ? $this->info['config']['subgrid'][0] : array();
         }
         $zip->close();
         $response = \Response::make(file_get_contents(storage_path() . "/app/tmp/{$uid}/facturas.zip"));
         $size = \Storage::drive("local")->size("tmp/{$uid}/facturas.zip");
         \Storage::drive("local")->deleteDirectory("tmp/{$uid}");
         $response->header('Content-Disposition', 'attachment; filename="facturas.zip"');
         $response->header('Content-Length', '$size');
         return $response;
     }
 }