php教程

超轻量级php框架startmvc

laravel 多图上传及图片的存储例子

更新时间:2020-04-10 22:03:13 作者:startmvc
1.了解文件磁盘配置:'public'=>['driver'=>'local','root'=>storage_path('app/public'),'url'=>env('APP

1.了解文件磁盘配置:


'public' => [
 'driver' => 'local',
 'root' => storage_path('app/public'),
 'url' => env('APP_URL').'/storage',
 'visibility' => 'public',
 ],

在filesystems.php文件中创建了一个名为 public的文件磁盘,使用的驱动为本地存储,'root'表示的是文件最终存储的目标路径是storage/app/public, ‘url' 表示的是文件的url,'visibility'表示的是可见性

2.创建软连接,在项目的根目录运行如下命令:


php artisan storage:link

如果是线上代码,则需要在服务器中的项目根目录运行。

软连接的创建意味着项目的 …/public/storage/ 路径直接指向了 …/storage/app/public/ 目录

3.接收图片并存储,返回存储的图片的url


class UploadController extends Controller
{
 public function upload()
 {
 $imgs = [];
 if (request()->hasFile('file')){
 foreach (request()->file('file') as $file){
 //将图片存储到了 ../storage/app/public/product/ 路径下
 $path = $file->store('public/product');
 $path = str_replace('public','',$path);
 $imgs[]= asset('storage/'.$path);
 }
 return response()->json([
 'errno'=>0,
 'data'=>$imgs
 ]);
 }else{
 return response()->json([
 'info'=>'没有图片'
 ]);
 }
 //处理多图上传并返回数组
 }
}

以上这篇laravel 多图上传及图片的存储例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

laravel 多图 上传 图片 存储