【发布时间】:2018-01-16 14:24:42
【问题描述】:
我创建了一个 CRUD(使用 laravel 的背包 crud)来上传证书,当我上传我使用的 pdf 时
$this->crud->addField([
'name' => 'respaldo',
'label' => 'Respaldo',
'type' => 'upload',
'upload' => true,
'wrapperAttributes' => [
'class' => 'form-group col-md-6'
],
]);
当我想查看上传文件的链接时,路径中缺少存储,所以我将它添加到了一个 mutator 中,见下文
public function setRespaldoAttribute($value)
{
$attribute_name = "respaldo";
$disk = "public";
$destination_path = "uploads/respaldos";
$this->uploadFileToDisk($value, $attribute_name, $disk, $destination_path);
}
public function getRespaldoLink() {
return '<a href="'.asset('storage/'.$this->respaldo).'" target="_blank">
Descargar</a>';
}
现在,当单击它显示在列表视图上的链接时,问题是当我单击编辑时,那里缺少“存储”段,所以我得到 404。看图
【问题讨论】:
-
嗨罗德里戈。文件是否上传到磁盘上?如果是这样,那一定是链接问题。我建议你看看你在 filesystems.php 中使用的磁盘——如果它是公共的。如果您尝试“上传”磁盘,并相应地更改目标路径,怎么样?
-
我现在使用“uploads”,并且只使用“respaldo”文件夹,文件保存在 (public/uploads/respaldo/) 中,路径在 DB 上保存为 respaldos/276e91a4550ddb4982405286148181e4.pdf,我有使用 -> 在 listview 上显示链接,在编辑相同时,上传中缺少路由,找不到为上传添加前缀的方法。