ThinkPHP文件上传接口

简介: ThinkPHP文件上传接口

文件上传接口

上传在项目/runtime/storage/下,返回的是相对路径.

/**
     * 文件上传接口
     * param file: /2024-06-11_09-50-43.png
     * return
     * {
     * "status": 1,
     * "msg": "上传成功",
     *  "data": {
     *     "file_path": "/uploads/20240611/6a2282ada486c614e170dff06063527f.png"
     *  }
     * }
     */
    public function uploadAjax()
    {
        // 获取上传的文件
        $file = Request::file('file');
        // 验证规则
        $validate = Validate::rule([
            'file' => 'fileExt:jpg,jpeg,png,gif|fileSize:10485760', // 限制文件扩展名和大小
        ]);
        // 验证文件
        if (!$validate->check(['file' => $file])) {
            return json(['status' => 0, 'msg' => $validate->getError()]);
        }
        // 上传文件
        try {
            /**
             * 存储在/www/wwwroot/项目名/runtime/storage/下面指定的uploads文件夹中
             */
            $savename = Filesystem::putFile('uploads', $file);
            return json(['status' => 1, 'msg' => '上传成功', 'data' => ['file_path' => '/' . $savename]]);
        } catch (\Exception $e) {
            return json(['status' => 0, 'msg' => $e->getMessage()]);
        }
    }
相关文章
|
4月前
|
PHP
thinkphp中自定义文件上传
thinkphp中自定义文件上传
33 0
|
10月前
文件上传功能实现
文件上传功能实现
|
4月前
|
移动开发 前端开发
VForm3的文件上传方式
VForm3的文件上传方式
127 0
|
存储 前端开发 JavaScript
后端文件上传以及下载功能实现
上一章讲到前端文件下载功能的实现,之前也讲过前端文件上传功能的实现,这一章就讲一下后端怎么接收前端上传的文件,以及怎么实现文件下载功能。
385 0
|
存储 PHP
PHP:laravel文件上传和外部访问
PHP:laravel文件上传和外部访问
74 0
|
Java
【不用框架】文件上传和下载(四)
文件上传就是把用户的信息保存起来。
123 0
【不用框架】文件上传和下载(四)
|
Java
【不用框架】文件上传和下载(一)
文件上传就是把用户的信息保存起来。
141 0
【不用框架】文件上传和下载(一)
|
算法 JavaScript 前端开发
【不用框架】文件上传和下载(三)
文件上传就是把用户的信息保存起来。
148 0
【不用框架】文件上传和下载(三)