本文规则:遵循post请求规则。$commodities为Model
必须:enctype="multipart/form-data"
本文涉及的依赖:
use Storage;
use Illuminate\Http\File;
use Illuminate\Http\Request;
use Illuminate\Http\UploadedFile;
一:一般文件上传思想:获取上传文件 --> 判断是否有错 --> 编写需要存储后文件名 --> 移动文件到存储地址 --> 写入数据库
(这种方式很粗鲁,但是不符合laravel的优雅)
$commodities = new Commodity;
$result = $commodities->fill($request->all());
$file = $request->file('picture');
// 文件是否上传成功
if($file->isValid()){
// 获取文件相关信息
$originalName = $file->getClientOriginalName(); // 文件原名
// 上传文件,没有使用PHP的默认单个POST请求发送的最大数据8M,而是改成了12M
$fileName = uniqid() . $originalName;
$movePath = $file->move(storage_path('app\uploads'),$fileName);
$saveDir = $movePat

本文介绍了在 Laravel 中进行文件上传的三种方法:传统方式、使用 `store()` 和 `storeAs()` 方法。强调了`store()`会生成随机文件名,`storeAs()`允许自定义路径和文件名。同时提醒在遇到文件名乱码问题时,应避免使用原始文件名,并确保开启`php_fileinfo.dll`扩展。
最低0.47元/天 解锁文章
1344

被折叠的 条评论
为什么被折叠?



