我有一个表数据,并且正在使用数据表yajra。它正常运行。 我已添加按钮下载以下载文件。该文件类型为Pdf,并保存在数据库中。我试图建立没有数据表,它的工作原理。像这样(只是示例):
@foreach ($riwayat as $i)
<tr class="even pointer">
<td class="a-center ">{{ ++$no }}</td>
<td class=" ">{{ $i->users->nama}} </td>
<td class=" ">{{ $i->nama_surat}}</td>
<td class=" ">{{ $i->tanggal_terbit}}</td>
<td class=" ">{{ $i->penerbit}}</td>
<td class=" "><a href="file_str/{{ $i->file}}" download={{ $i->file}}><button class="btn btn-primary btn-md">Download</button></a></td> // its my download button and work
</tr>
@endforeach
此下载文件正常工作,没有在“下载”上启用控制器功能和路由功能
但是当我在服务器端使用数据表构建它时。当我将光标悬停在下载按钮上时,它没有显示正确的URL。
您可以在下面看到我的代码:
public function indexDataTables()
{
$pelatihan = Master_seminar_pelatihan::with('users')->get();
return Datatables::of($pelatihan)
->addIndexColumn()
->addColumn('edit', function ($pelatihan) {
return '<a href="/pelatihan/'.$pelatihan->id.'/edit" class="btn btn-xs btn-success"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
})// this edit CAN SHOW id
->editColumn('download', function ($pelatihan) {
return '<a href="file_pelatihan/'.$pelatihan->file_scan.'" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-download-alt"></i></a>';
})// this download didnt work , this url didnt show file like file.pdf
->editColumn('hapus', function ($pelatihan) {
$c = csrf_field();
$m = method_field('DELETE');
return "<form action='/delete1/$pelatihan->id' method='POST'>
$c
$m
<button style='margin-left:10px; width: 30px;' type='submit'
class='btn btn-xs btn-danger delete'>
<i class='glyphicon glyphicon-remove-circle'></i>
</button>
</form>";
})
->rawColumns(['hapus' => 'hapus','edit'=>'edit','download'=>'download'])
->make(true);
}
此下载文件功能不起作用。
答案 0 :(得分:0)
尝试一下:
public function indexDataTables()
{
$pelatihan = Master_seminar_pelatihan::with('users')->get();
return Datatables::of($pelatihan)
->addIndexColumn()
->addColumn('edit', function ($pelatihan) {
return '<a href="/pelatihan/'.$pelatihan->id.'/edit" class="btn btn-xs btn-success"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
})
->editColumn('download', function ($pelatihan) {
return '<a href="'.asset("public/yourpath/yourfile.extension") .'" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-download-alt"></i></a>';
})
->editColumn('hapus', function ($pelatihan) {
$c = csrf_field();
$m = method_field('DELETE');
return "<form action='/delete1/$pelatihan->id' method='POST'>
$c
$m
<button style='margin-left:10px; width: 30px;' type='submit'
class='btn btn-xs btn-danger delete'>
<i class='glyphicon glyphicon-remove-circle'></i>
</button>
</form>";
})
->rawColumns(['hapus' => 'hapus','edit'=>'edit','download'=>'download'])
->make(true);
}
希望对您有所帮助。
答案 1 :(得分:0)
请尝试一下, 如果使用文件系统存储,则可以使用以下代码。
public function indexDataTables()
{
$pelatihan = Master_seminar_pelatihan::with('users')->get();
return Datatables::of($pelatihan)
->addIndexColumn()
->addColumn('edit', function ($pelatihan) {
return '<a href="/pelatihan/'.$pelatihan->id.'/edit" class="btn btn-xs btn-success"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
})
->editColumn('download', function ($pelatihan) {
return '<a href="'. \Storage::url('File path here')**strong text** .'" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-download-alt"></i></a>';
})
->editColumn('hapus', function ($pelatihan) {
$c = csrf_field();
$m = method_field('DELETE');
return "<form action='/delete1/$pelatihan->id' method='POST'>
$c
$m
<button style='margin-left:10px; width: 30px;' type='submit'
class='btn btn-xs btn-danger delete'>
<i class='glyphicon glyphicon-remove-circle'></i>
</button>
</form>";
})
->rawColumns(['hapus' => 'hapus','edit'=>'edit','download'=>'download'])
->make(true);
}