1

这是我的代码,我如何上传到存储和检索文件。也许我做错了。

$uploadedFileUrl = request()->certificate_template->store('public/certificate');
return url(asset('storage/certificate/'.str_replace('public/certificate/','',$uploadedFileUrl)));

好吧,我必须将它上传到公共/证书,但要从存储中获取它,我必须使用存储/证书。请帮忙。有没有其他方法可以从存储文件中获取文件 URL?有什么更聪明的选择吗?

4

1 回答 1

0

要将文件上传到存储,请使用以下代码:

$file               =       $request->file('attachment');
$file_origname      =       $file->getClientOriginalName();
$file_origext       =       $file->getClientOriginalExtension();
$file_realpath      =       $file->getRealPath();
$file_docsize       =       round(($file->getSize())/1024, 2);
$file_mimetype      =       $file->getMimeType();
$file_giveenname    =       date('YmdHis').Rand().'.'.$file_origext;

$attachment_data = array(
    'original_name'     =>      $file_origname,
    'extension'         =>      $file_origext,
    'path_name'         =>      $file_realpath,
    'size'              =>      $file_docsize,
    'mimetype'          =>      $file_mimetype,
    'file_name'         =>      $file_giveenname
);

Attachments::create($attachment_data);
//---Uploading The File to storage folder
Storage::putFileAs('public/certificate', $file, $file_giveenname);

要访问文件和查看文件,首先运行以下工匠代码:

php artisan storage:link

这个工匠命令在您的公用文件夹中创建您的存储文件夹的图像,它将很容易获得并使用以下代码访问您视图中的图像。

<img src="{{ url('/storage/certificate'.$attachment['file_name']) }}" style="width: 870px; height: 370px;" alt="">
于 2021-04-07T07:04:31.020 回答