前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tp6多文件上传接口开发,整个流程+postman测试

tp6多文件上传接口开发,整个流程+postman测试

作者头像
贵哥的编程之路
发布2022-05-26 08:24:11
4170
发布2022-05-26 08:24:11
举报
文章被收录于专栏:用户7873631的专栏

路由:

代码语言:javascript
复制
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
use think\facade\Route;


Route::post('goods/upload_goods', 'Goods/images');

控制器:

代码语言:javascript
复制
<?php
declare (strict_types = 1);

namespace app\admin\controller;
use think\Validate;
use think\Request;
use think\facade\View;
use think\facade\Db;
use app\admin\validate\EnealValidate;
class Goods
{
  
public function images(Request $request)
{
   
    // 接收文件上传
    $file = $request->file("image");
    // 设定文件上传的大小
    $fileSize = 1024 * 1024 * 2;
    // 存储上传失败的信息
    $error = [];
    // 存储上传成功的信息
    $success = [];
    // 循环批量验证
    foreach ($file as $val) {
        // 捕获异常
        try {
            // 验证文件大小、后缀
            validate(['image' => 'fileSize:' . $fileSize . '|fileExt:jpg'])
                ->check(['image' => $val]);
            // 上传文件
            $saveName = \think\facade\Filesystem::putFile('swiper', $val);
            // 将成功后的路径保存到数组中
            $success[] = 'swiper/' . $saveName;
        } catch (\think\exception\ValidateException $e) {
            // 记录验证错误的失败信息
            $error= [
                'name' => $val->getOriginalName(),
                'msg' => $e->getMessage()
            ];
        }
    }
    // 组装返回数据的结果集
    $data = [
        'success' => $success,
        'error' => $error
    ];
    // 返回数据
    return json([$data]);
}
}

存储图片目录结构:

在这里插入图片描述
在这里插入图片描述

config/filesystem.php文件》

代码语言:javascript
复制
<?php

return [
    // 默认磁盘
    'default' => env('filesystem.driver', 'public'),
    // 磁盘列表
    'disks'   => [
        'local'  => [
            'type' => 'local',
            'root' => app()->getRuntimePath() . 'storage',
        ],
        'public' => [
            // 磁盘类型
            'type'       => 'local',
            // 磁盘路径
            'root'       => app()->getRootPath() . 'public/storage',
            // 磁盘路径对应的外部URL路径
            'url'        => '/storage',
            // 可见性
            'visibility' => 'public',
        ],
        // 更多的磁盘配置信息
    ],
];

postman测试:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档