laravel 文件上传三种方法

本文介绍了在 Laravel 中进行文件上传的三种方法:传统方式、使用 `store()` 和 `storeAs()` 方法。强调了`store()`会生成随机文件名,`storeAs()`允许自定义路径和文件名。同时提醒在遇到文件名乱码问题时,应避免使用原始文件名,并确保开启`php_fileinfo.dll`扩展。
摘要由CSDN通过智能技术生成

本文规则:遵循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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值