ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 1.第一种方法 * 使用 Artisan 命令`storage:link`来创建符号链接: ``` php artisan storage:link ``` * 控制器接受文件进行存储 ``` $path = $request\->file('photo')->store('public'); //public 可以在filesystems文件中配置路径 ``` * 获取文件的url ``` use Illuminate\\Support\\Facades\\Storage; //获取文件的路径 $path\=Storage::url($val\['photo'\]); //生成外部可访问的url $url=asset($path); ``` # 2.第二种方法 * 控制器接受文件进行存储 ``` $path = Storage::putFile('public', $request\->file('photo')); ``` 配置文件 ``` 'public' => \[ 'driver' => 'local', 'root' => storage\_path('app/public'), 'url' => env('APP\_URL').'/storage', 'visibility' => 'public',         \], ``` 第三种 ``` public function getInfo(Request $request){ $data=$request->post(); $file=$request->file('file'); //获取文件后缀 $ext = $file->getClientOriginalExtension(); //获取文件临时位置位置 $path = $file->getRealPath(); //生成新文件名称 //生成格式:时间戳+随机数+后缀名称 $file1=date("Ymd")."/".$request->book_name.date("his"); $newfilename =$file1 .'.'.$ext; // 更新当前文件名称 //格式:域名+filesystems.php设置的文件位置+新文件名称 $data['file'] = $_SERVER['HTTP_HOST'].'/file/'.$newfilename; //当前的数据导入的标识 $data['time']=time(); //文件上传 $re = Storage::disk('uploads')->put($newfilename, file_get_contents($path)); } ``` 第四种(本地文件上传到云存储,并返回url) ``` /\*\*      \* 上传图片到阿里云 \* @author shishuaibo \* @param $path  文件的路径      \*/ function upload\_image($path){ //$path = storage\_path('classImg/H31149.jpeg'); $data\=file\_get\_contents($path); $ext\=pathinfo($path, PATHINFO\_EXTENSION); $sName = getId().'.'.$ext; $disk = Storage::disk('oss'); $disk ->put($sName, $data); $url\=$disk ->url( $sName); return $url;     } ```