找回密码
 立即注册
搜索
查看: 486|回复: 0

[js组件] layui上传文件,thinkphp5.0保存文件

  [复制链接]
发表于 2023-2-23 15:25 | 显示全部楼层 |阅读模式
今天有一个特殊的需求,在解析excel的同时把这个excel上传到服务器上,说白了:两个POST请求。一个POST请求是将解析后excel内容体数据[怎样使用JS解析excel请到另外一篇文章查阅]传到PHP,另一个POST请求就是保存上传的excel文件了。


到百度一搜,有现在的https://www.kancloud.cn/zhiqiang/helper/706913  直接打开,毕竟 是官方的,打开一看,我去,收费的。算了,在手册里翻了一下,有上传的代码,准备copy代码:

HTML代码段:
image.png

JS代码段:
<script>
    layui.use('upload', function () {
        var upload = layui.upload;
        //执行实例
        var uploadInst = upload.render({
            elem: '#LAY-excel-import-excel' //绑定元素
            , url: 'upload_import_file'//上传接口
            , method: 'POST'
            , type: "file"
            , accept: 'file'
            , before: function (obj) {
                //layer.load(); //上传loading
            }
            , done: function (res) {
                //上传完毕回调
                if (res) {
                    // layer.closeAll('loading');
                    // var d = dialog({
                    //     title: '提示',
                    //     content: '上传模板成功',
                    //     width: 200,
                    //     ok: function () { self.location.reload(); },
                    // });
                    // d.show();
                } else {
                    // layer.closeAll('loading');
                    // var d = dialog({
                    //     title: '提示',
                    //     content: '上传模板失败',
                    //     width: 200,
                    //     ok: function () { },
                    // });
                    // d.show();
                }
            }
            , error: function () {
                //layer.closeAll('loading');
            }
        });
    });
</script>

PHP代码段:
//保存excel文件
public function upload_import_file()
{
    $file = request()->file('file'); // 获取上传的input名称
    if ($file==null) {
        exit(json_encode(array('code'=>400, 'msg'=>'未上传文件')));
    }

    $info = $file->validate(['ext'=>'xlsx,xls'])->move(RUNTIME_PATH.'import'.DS, date('Y-m-d_H-i-s',time()).'.xlsx'); // 移动文件到指定目录 没有则创建
    //$file = '/uploads/'.$info->getSaveName();//得到文件名称且返回路径
    exit(json_encode(array('code'=>200)));
}

结果:

image.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|学习笔记

GMT+8, 2025-4-3 10:34 , Processed in 0.014288 second(s), 13 queries , APCu On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表