2016-12-10 5 views
0

Это то, что у меня есть: таблицыLaravel 5,2 - Загрузка файлов из базы данных

базы данных с именем lamanInformasi, который имеет следующие поля: ID, judul, МИС, created_at, updated_at.

Это то, что я хочу:

Пользователь может загрузить документ и файлы будут сохранены в базе данных. Имена файлов будут сохранены в поле isi, а сами файлы будут сохранены в папке с именем propic. Я сделал все правильно. Тогда у меня проблема. Когда отображаются данные из базы данных, в каждом имени файла есть ссылки. Когда пользователь нажимает на ссылку, файл будет автоматически загружен. Как это сделать? Когда я нажимаю на ссылку, у меня есть эта ошибка: NotFoundHttpException

Это мои коды:

index.blade.php - Я поместить этот файл в папку загрузки

<table class="table table-striped table-bordered" border= "1px solid black"> 
    <thead> 
     <tr> 
      <td>ID</td> 
      <td>Judul</td> 
      <td>Isi</td> 
      <td>Created At</td> 
      <td>Updated At</td> 
     </tr> 
    </thead> 
    <tbody> 
     @foreach($lamanInformasi as $file) 
     <tr> 
      <td>{{$file->id}}</td> 
      <td>{{$file->judul}}</td> 
      <td><a href="{{URL::to('upload/' . $file->id)}}">{{$file->isi}}</a></td> 
      <td>{{$file->created_at}}</td> 
      <td>{{$file->updated_at}}</td> 
     </tr> 
     @endforeach 
    </tbody> 
</table> 

LamanInformasiController

public function show($id) 
{ 
    $lamanInformasi = $this->model->whereId($id)->firstOrFail(); 
    $downloadFile = response()->download($lamanInformasi->filepath, $lamanInformasi->name); 
    return view('upload.index', compact('lamanInformasi','downloadFile')); 
} 

Спасибо за помощь

+0

Selamat pagi. Вы можете проверить свою консоль, если 'href' указывает на правый каталог. :) –

+0

@LaraBelle Selamat pagi. Как это проверить? –

+0

f12 открыть консоль. Затем попробуйте найти тег 'anchor'' с ссылкой на него. –

ответ

0

«NotFoundHttpException» означает, что Laravel не смог найти маршрут для запроса. Так что попробуйте это

<td><a href="{{URL::to('upload')}}/{{ $file->id}}">{{$file->isi}}</a></td> 

На контроллере

return view('upload.index', array('lamanInformasi'=>$lamanInformasi,'downloadFile'=>$downloadFile)); 
+0

Нет никакой разницы, у него такая же ошибка –

+0

, как вы поддерживаете свою маршрутизацию для загрузки файлов? –

+0

У меня только один маршрут: 'Route :: resource ('/ upload8', 'LamanInformasiController');' –

0

просто использовать download={{$report->name}}

download={{$report->name}} -Он будет сделать имени файла загрузки загрузить = "имя файла", "имя файла" становится имя загруженного файла. и силы, чтобы загрузить и HREF о том, где файл

в контроллер

public function download() 
    { 
     //display all types of reports from database name downloads 

     $reports = DB::table('downloads')->all(); 
     return view('reports.proposal',compact('reports')); 
    } 

и мой вид с ссылкой для загрузки, как это

@foreach($reports as $report) 

      <a href="../backend/uploads/{{$report->name}}" download="{{$report->name}}">{{$report->name}}</a> 

@endforeach 

YouTube ссылку : https://www.youtube.com/watch?v=AlnackyPJPY

gitlab link: https://gitlab.com/Bons/download-files-laravel5

Смежные вопросы