laravel上传图片的两种方式

本文介绍了在 Laravel 框架中进行图片上传的两种方法。第一种利用 Laravel 自带的文件上传功能,结合 Storage 库进行操作;第二种是通用的上传方式,涉及文件验证和自定义命名规则。这两种方法都能有效地将图片上传到服务器。
第一 :是laravel里面自带的上传方式(写在接口里面的)
function uploadAvatar(Request $request)
    {
        $user_id = Auth::id();
        $avatar = $request->file('avatar')->store('/public/' . date('Y-m-d') . '/avatars');
        //上传的头像字段avatar是文件类型
        $avatar = Storage::url($avatar);//就是很简单的一个步骤
        $resource = Resource::create(['type' => 1, 'resource' => $avatar, 'user_id' => $user_id]);
        if ($resource) {
            return $this->responseForJson(ERR_OK, 'upload success');
        }
    return $this->responseForJson(ERR_EDIT, 'upload fails');
    }
第二:通用的上传方式
function upload_img($file)
{
    $url_path = 'uploads/cover';
    $rule = ['jpg', 'png', 'gif'];
    if ($file->isValid()) {
        $clientName = $file->getClientOriginalName();
        $tmpName = $file->getFileName();
        $realPath = $file->getRealPath();
        $entension = $file->getClientOriginalExtension();
        if (!in_array($entension, $rule)) {
            return '图片格式为jpg,png,gif';
        }
        $newName = md5(date("Y-m-d H:i:s") . $clientName) . "." . $entension;
        $path = $file->move($url_path, $newName);
        $namePath = $url_path . '/' . $newName;
        return $path;
    }
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值