2015-10-05 6 views
0

Я немного запутался с Response :: скачать() в Laravel 4,2Laravel Response :: скачать(), не подвергая путь загрузки

Я хотел бы, чтобы вызвать загрузку в ZIP-архиве, не подвергая фактический общественный путь файла ..

Это ошибка я получаю, когда доступ к маршруту

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 

Мой ROUTE написано так:

/* 
/Download Package (GET) 
*/ 
Route::get('/download-packages/{$package}', array(
    'as' => 'download-package', 
    'uses' => '[email protected]' 
)); 

В функции контроллера getPackageDownload записывается следующим образом:

public function getPackageDownload($package){ 

    $file = public_path() . "/downloads/packages/" . $package . ".zip" ; 
    $name = $package . ".zip"; 

    $headers = array(
     'Content-Type' => 'application/zip', 
    ); 

    return Response::download($file, $name, $headers); 
} 

Мой код Кнопка просмотра:

<a href="{{ URL::route('download-package',[$package->package]) }}" target="_blank">Download</a></div> 

ссылку загрузки генерироваться в представлении что-то вроде этого

http://app.dev/laravel/public/download-packages/package-name 

Это отличается от фактического общедоступного местоположения ZIP-файла, но это необходимо, и я понимаю, что ответ должен быть запускается в функции getPackageDownload.

ответ

1

Итак, после отходя от кода и возвращаться к нему с обновленными глазами оказывается, я просто был маршрутизации ошибка ,, маршрутизации параметр $ пакет не должен иметь «$» перед ним ..

/* 
/Download Package (GET) 
*/ 
Route::get('/download-packages/{package}', array(
    'as' => 'download-package', 
    'uses' => '[email protected]' 
)); 
Смежные вопросы