前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Layui 指定 excel 文件的上传配置

Layui 指定 excel 文件的上传配置

作者头像
泥豆芽儿 MT
发布2019-10-25 10:52:33
5K2
发布2019-10-25 10:52:33
举报

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。undefined本文链接:https://cloud.tencent.com/developer/article/1527239

  • 背景 昨天,根据业务需求我需要进行 excel 表格文件的上传,然后读取其中的数据写入数据库 那么,至少要限制一下上传文件的类型 在此,进行一下整理,欢迎指摘 …
  • 环境
- 前端框架: Layui 2.5.4
- 使用框架:ThinkPHP 5.1.2   
  • 前端配置
  • 前提自然是先要对 layui 前端框架的正确引用
<link href="__LAYUI__/css/layui.css" rel="stylesheet">
<!--采用模块化方式-->
<script type="text/javascript" src="__LAYUI__/layui.js"></script>
<!-- jQuery (necessary JavaScript plugins) -->
<script type='text/javascript' src="__LAYUI__/jquery-3.2.1.min.js"></script>
  1. 其次,便是页面标签的布局
<button type="button" 
		class="layui-btn" id="uploadExcel">
		<i class="layui-icon">&#xe67c;</i>上传物流订单
</button>
  1. 然后,需要对 js 的代码进行配置
layui.use(['layer','upload'], function () {
var upload = layui.upload;
        //指定允许上传的文件类型
        upload.render({
            elem: '#uploadExcel'
            ,url: '/api/upload/file_excel' //此处为所上传的请求路径
            ,accept: 'file' //普通文件
            ,exts: 'xls|excel|xlsx' //只允许上传压缩文件
            ,done: function(res){
                console.log(res)
                layer.msg(res.message);
            }
        });
    });
  1. 接下来,便是对所获取的 excel文件的解析处理,以我的 ThinkPHP5.1.2 处理代码为例
    /**
     * 进行excel文件的上传读取操作
     * @param Request $request
     */
    public function file_excel(Request $request){
        $status = 0;
        if ($request->Method() == 'POST') {
            $file = $request->file('file');
            // 移动到框架应用根目录/upload/ 目录下
            $info = $file->move('upload');
            if ($info) {
                //把反斜杠(\)替换成斜杠(/) 因为在windows下上传路是反斜杠径
                $getSaveName = str_replace("\\", "/", $info->getSaveName());
                $fileUrl = './upload/' . $getSaveName;
               //TODO 此时进行数据的解析,个人业务逻辑,此处应该修改为你自己的逻辑
                $orderModel = new XorderGoods();
                $status = 1;
                $message = $orderModel->ajaxDealExcelOrder($fileUrl);
            } else {
                $message = "上传失败 " . $file->getError();
            }
        } else {
            $message = "参数错误";
        }
        return showMsg($status, $message);
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档