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()]);
        }
    }
相关文章
|
6月前
|
PHP
thinkphp中自定义文件上传
thinkphp中自定义文件上传
39 0
|
1月前
|
监控 前端开发 安全
C#一分钟浅谈:文件上传与下载功能实现
【10月更文挑战第2天】在Web应用开发中,文件的上传与下载是常见需求。本文从基础入手,详细讲解如何在C#环境下实现文件上传与下载。首先介绍前端表单设计及后端接收保存方法,使用`<input type="file">`与`IFormFile`接口;接着探讨错误处理与优化策略,如安全性验证和路径管理;最后讲解文件下载的基本步骤,包括确定文件位置、设置响应头及发送文件流。此外,还提供了进阶技巧,如并发处理、大文件分块上传及进度监控,帮助开发者构建更健壮的应用系统。
97 15
|
6月前
|
移动开发 前端开发
VForm3的文件上传方式
VForm3的文件上传方式
182 0
|
存储 前端开发 JavaScript
后端文件上传以及下载功能实现
上一章讲到前端文件下载功能的实现,之前也讲过前端文件上传功能的实现,这一章就讲一下后端怎么接收前端上传的文件,以及怎么实现文件下载功能。
409 0
|
存储 前端开发 应用服务中间件
关于项目中文件上传
关于项目中文件上传
221 0
|
算法 JavaScript 前端开发
【不用框架】文件上传和下载(三)
文件上传就是把用户的信息保存起来。
152 0
【不用框架】文件上传和下载(三)
|
Java
【不用框架】文件上传和下载(四)
文件上传就是把用户的信息保存起来。
124 0
【不用框架】文件上传和下载(四)