App\Http\Controllers\DocumentController::getDownloadResponse PHP Method

getDownloadResponse() public static method

public static getDownloadResponse ( $document )
    public static function getDownloadResponse($document)
    {
        $direct_url = $document->getDirectUrl();
        if ($direct_url) {
            return redirect($direct_url);
        }
        $stream = $document->getStream();
        if ($stream) {
            $headers = ['Content-Type' => Document::$types[$document->type]['mime'], 'Content-Length' => $document->size];
            $response = Response::stream(function () use($stream) {
                fpassthru($stream);
            }, 200, $headers);
        } else {
            $response = Response::make($document->getRaw(), 200);
            $response->header('content-type', Document::$types[$document->type]['mime']);
        }
        return $response;
    }

Usage Example

 /**
  * @param DocumentRequest $request
  *
  * @return \Illuminate\Http\Response|\Redirect|\Symfony\Component\HttpFoundation\StreamedResponse
  */
 public function show(DocumentRequest $request)
 {
     $document = $request->entity();
     if (array_key_exists($document->type, Document::$types)) {
         return DocumentController::getDownloadResponse($document);
     } else {
         return $this->errorResponse(['error' => 'Invalid mime type'], 400);
     }
 }
All Usage Examples Of App\Http\Controllers\DocumentController::getDownloadResponse