IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> ThinkPHP6 logo上传接口(异步请求)以及商品相册上传接口(多图上传) -> 正文阅读

[开发测试]ThinkPHP6 logo上传接口(异步请求)以及商品相册上传接口(多图上传)

参照上传接口文档

请求地址

POST /logo

需进行token认证

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

请求参数

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

返回数据

logo文件访问路径

返回示例

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

单文件上传

postman测试

书写上传逻辑

 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测试

书写上传逻辑

 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);
    }

?

总结

1.文件上传时大小的限制不是KB是B,引号内不允许写计算

2.文件验证check方法必须要求是数组

3.文件上传的putfile方法必须是一个uploadsFile对象

4.要使用try catch合理捕获异常,但不是越多越好,要清楚知道什么叫不可预知的错误

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 16:15:41  更:2021-12-14 16:16:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 7:27:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码