Layui 指定 excel 文件的上傳配置

  • 2019 年 10 月 25 日
  • 筆記

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/u011415782/article/details/100163113

  • 背景 昨天,根據業務需求我需要進行 excel 表格文件的上傳,然後讀取其中的數據寫入數據庫 那麼,至少要限制一下上傳文件的類型 在此,進行一下整理,歡迎指摘 …
  • 環境
- 前端框架: Layui 2.5.4  - 使用框架:ThinkPHP 5.1.2   
  • 前端配置
  1. 前提自然是先要對 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);      }