ThinkPHP6 logo上传接口(异步请求)以及商品相册上传接口(多图上传)

本文介绍了如何在ThinkPHP6中实现Logo和商品相册的上传接口。包括异步请求的Logo上传和多图上传的商品相册接口,涉及token认证,提供了请求地址、参数示例及返回数据格式,并展示了使用Postman进行接口测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参照上传接口文档

请求地址

POST /logo

需进行token认证

示例: http://adminapi.tbyue.com/logo

请求参数

名称类型必填备注
typestring图片类型。商品:goods;分类:category;品牌:brand
logofilelogo文件

返回数据

logo文件访问路径

返回示例

"/uploads/goods/20190530/adsdsfsgsds.png"

单文件上传

postman测试

image

 书写上传逻辑

 public function index(Request $request)
    {
        // 接收上传的类型
        $type=$request->post('type');
        // 接收文件上传
        $files = $request->file();
        // 设定文件上传的大小
        $fileSize=1024*1024*2;
        try {
            // 验证文件上传的大小、后缀
            validate(['logo'=>'fileSize:'.$fileSize.'|fileExt:jpg,png'])
                ->check($files);
            $file = request()->file('logo');
            // 将图片保存至本地
            $savename= \think\facade\Filesystem::putFile($type,$file);
            // 将文件上传的路径返回
            return json([
               'code'=>200,
               'msg'=>'上传单个',
                'data'=>'uploads/'.$savename,
            ]);

        } catch (\think\exception\ValidateException $e) {
            //错误返回提示信息
            return json([
                'code'=>200,
                'msg'=>$e->getMessage(),
                'data'=>[],
            ]);
        }

    }

商品相册上传接口(多图上传)

参照接口文档

请求地址

POST /images

需进行token认证

示例: http://adminapi.tbyue.com/images

请求参数

名称类型必填备注
typestring图片类型。默认为商品:goods
imagesstring图片文件

返回数据

名称备注
success上传成功的图片地址集合
error上传成功的图片名称和错误信息集合

返回示例

{
	“success”:[
		"/uploads/goods/20190530/dsgdsafdsfds.png",
		"/uploads/goods/20190530/dsfdsdgfdasd.png",
	],
	"error":[
		{
			"name":"1.png",
			"msg":"图片尺寸错误"
		},
		{
			"name":"2.png",
			"msg":"图片类型错误"
		}
	]
}

postman测试

image

 书写上传逻辑

 public function save(Request $request)
    {

        // 接收上传的类型
        $type = $request->post("type", "goods");
        // 接收文件上传
        $file = $request->file("images");
        // 设定文件上传的大小
        $fileSize = 1024*1024*2;
        // 存储上传失败的信息
        $error = [];
        // 存储上传成功的信息
        $success = [];
        // 循环批量验证
        foreach ($file as $val) {
            // 捕获异常
            try {
                // 验证文件大小、后缀
                validate(['images' => 'fileSize:' . $fileSize . '|fileExt:jpg'])
                    ->check(['images' => $val]);
                // 上传文件
                $saveName = Filesystem::putFile($type, $val);

                // 将成功后的路径保存到数组中
                $success[] = 'uploads/' . $saveName;
            } catch (ValidateException $e) {
                // 记录验证错误的失败信息
                $error[]= [
                    'name' => $val->getOriginalName(),
                    'msg' => $e->getMessage()
                ];
            }
        }
        // 组装返回数据的结果集
        $data = [
            'success' => $success,
            'error' => $error
        ];
        // 返回数据
        return json($data);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值