2017-01-10 71 views
2

我正在嘗試使用戶從頁面下載文件。但是,每當我點擊下載按鈕時,出現此錯誤:Laravel:下載按鈕無法正常工作

在此服務器上找不到請求的資源/下載。

這是我的代碼。

視圖:

<a href="/download/file_name" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a> 

控制器:

public function getDownload($file_name) { 
$file_path = public_path('files/'.$file_name); 
return response()->download($file_path);} 

路線:

Route::get('/download/{file}', '[email protected]'); 

,它顯示了:enter image description here

錯誤顯示爲 ::

http://127.0.0.1:8000/download無法加載資源:服務器與404(未找到)

狀態我只是不明白這一點回應,如何解決這個問題?

並且示出

未定義變量:FILE_NAME(查看:C:\ XAMPP \ htdocs中\ Land_Map \資源\視圖\頁面\ upload.blade.php)(查看:C:\ XAMPP \ htdocs目錄\ Land_Map \資源\意見\網頁\ upload.blade.php)

當我使用:

<a href="{{ URL::to('/download/'.$file_name) }}" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a> 

但是,正常工作與

<a href="/download/php_tutorial.pdf" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a> 

但是,我希望用戶從下載文件夾中的幾個文件進行選擇。但是,不知道該怎麼做。嘗試了幾種方式,但沒有奏效。

我也試過:

<a href="{{route('upload')}}" class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a> 

我其實是想顯示文件被上傳,但沒有奏效。

但是,它示出了:

路線[上傳]未被定義。 (查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload.blade.php)(查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload.blade。PHP)

但是,路線:

Route::get('/upload', '[email protected]'); 

Route::post('upload', '[email protected]'); 

回答

1

您需要將文件名:

<a href="/download/Guide.pdf" ....>Download Brochure</a> 

如果不通過文件名,Laravel會尋找這條路線:

Route::get('/download', '[email protected]'); 
+0

謝謝,我做到了,也編輯了這個問題。但現在顯示:未找到 在此服務器上找不到請求的資源/下載。 – Rock

+0

這是另一種錯誤,我猜Web服務器配置有問題。 –

+0

Web服務器配置,沒關係。我會看到的。但是,請你能指出一些可能出錯的地方嗎? – Rock

0

在href你必須添加文件名href =「/ download/file_name」

1

我覺得你的代碼需要更新,如:

對於控制器

public function getDownload($file_name) { 
    $file_path = public_path().'/files/'.$file_name; 
    return response()->download($file_path); 
} 

對於刀片文件:

<a href="{{ URL::to('/download/'.$filename) }}"class="btn btn-large pull-right"><i class="icon-download-alt"> </i> Download Brochure </a> 

UPDATE 這裏,確保$filename守ld從您的控制器視圖傳遞給Docs。 希望爲你工作!

+0

好吧,我試過了。但它顯示::未定義的變量:文件名(查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload.blade.php)(查看:C:\ xampp \ htdocs \ Land_Map \ resources \ views \ pages \ upload.blade.php) – Rock

+0

@Rock看我的*更新* –

+0

我看到你的更新,嘗試了幾種方法。但沒有工作:/ – Rock