1. 程式人生 > 其它 >element-ui 上傳檔案 + 攜帶引數案例

element-ui 上傳檔案 + 攜帶引數案例

element-ui上傳檔案 + 攜帶引數案例

我做的案例是上傳一個EXCEL檔案,順帶還要攜帶一些引數上去!我這兒測試的是自動上傳,手動上傳後面找一個時間來加上吧!

上傳檔案的程式碼

<el-dialog title="附件管理" :visible.sync="dialogVisible" width="30%">
      <!-- 1.將<el-upload>程式碼新增到<el-dialog>程式碼塊中 -->
      <el-upload
        ref="upload"
        class="upload-demo"
        :action="uploadFileURL"
        :data="loadFileParams"
        :before-upload="uploadBefore"
        :on-success="uploadSuccess"
        :headers="headers"
      >
        <i class="el-icon-upload"></i>
        <div class="el-upload__text">將檔案拖到此處,或<em>點選上傳</em></div>
        <div class="el-upload__tip" slot="tip">
          只能上傳jpg/png檔案,且不超過500kb
        </div>
      </el-upload>
      <span slot="footer" class="dialog-footer">
        <el-button @click="cancelUpload">取 消</el-button>
        <el-button type="primary" @click="ConfirmUpload"
        >確 定</el-button
        >
      </span>
    </el-dialog>

邏輯程式碼

data() {
  return {
     uploadFileURL:
        'http://192.168.1.105:8090/project/details/importProjectFile', // 上傳檔案的地址!
     loadFileParams: { // 上傳檔案的引數!
        projectNumber: '',
        projectName: '',
        projectHead: '',
        projectType: '',
        fileNames: ''
      },
      headers: {
        Authorization: window.sessionStorage.getItem("myToken") // 我的反正是要加上這個屬性才能成功上傳!!否則會報401的錯誤!【認證失敗,無法訪問系統資源"】沒辦法,後臺要求的!
      }
  }
},
method: {
      uploadBefore(file) { // 這個函式的目的就是在上傳檔案之前獲取到檔案的名字然後儲存到攜帶的引數變數裡面!
      this.loadFileParams.fileNames = file.name
    }
    uploadSuccess(file) { // 這個函式就是檔案上傳成功時會呼叫的函式,列印的是成功響應的資料!
      console.log(file)
    },
}

失敗響應的資料:

成功響應的資料:

參考文章:
檔案上傳時如何攜帶引數和接收返回值(親測有效)
element-ui中upload元件獲取上傳檔案資訊

lvhanghmm