中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VUE+element-ui文件上傳的代碼怎么寫

發布時間:2022-03-04 10:19:24 來源:億速云 閱讀:195 作者:iii 欄目:開發技術

這篇文章主要介紹了VUE+element-ui文件上傳的代碼怎么寫的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇VUE+element-ui文件上傳的代碼怎么寫文章都會有所收獲,下面我們一起來看看吧。

圖片上傳(ImageCropper)

此前端代碼自己封裝了文件上傳,只需要配置后端接口需求URL以及對應的圖片上傳成功后的處理函數,后端返回OSS生成的圖片訪問地址,然后cropsuccess函數將上傳成功的圖像進行顯示。

    <template>
    <div class="app-container">
    <!-- 講師頭像 -->
    <el-form-item label="講師頭像">
    <!-- 頭銜縮略圖 -->
    <pan-thumb :image="teacher.avatar"/>
    <!-- 文件上傳按鈕 -->
    <el-button type="primary" icon="el-icon-upload"
    @click="imagecropperShow=true">更換頭像
    </el-button>
    <!--
    v-show:是否顯示上傳組件
    :key:類似于id,如果一個頁面多個圖片上傳控件,可以做區分
    :url:后臺上傳的url地址
    @close:關閉上傳組件
    @crop-upload-success:上傳成功后的回調 
    field就是起name作用,值要與后端接口的參數一致
    -->
    <image-cropper
    v-show="imagecropperShow"
    :width="300"
    :height="300"
    :key="imagecropperKey"
    :url="BASE_API+'/eduoss/fileoss'"
    field="file"
    @close="close"
    @crop-upload-success="cropSuccess"/>
    </el-form-item>
        </div>
    </template>
<script>
  //引入調用API層:teacher.js文件
import ImageCropper from '@/components/ImageCropper'
import PanThumb from '@/components/PanThumb'

  export default{
 components: { ImageCropper, PanThumb },
      data() {
          return{
            teacher:{},
            saveBtnDisabled:false, // 保存按鈕是否禁用
            imagecropperKey:0,//上傳組件key值
            imagecropperShow:false,
            BASE_API:process.env.BASE_API, //獲取dev.env.js里面地址
            saveBtnDisabled:false  // 保存按鈕是否禁用,
          } 
      },
      methods: {
        close() { //關閉上傳彈框的方法
        this.imagecropperShow=false
        //上傳組件初始化:防止不能連續上傳修改頭像
        this.imagecropperKey = this.imagecropperKey+1
    },
    //上傳成功后的方法
    cropSuccess(data) {
      this.imagecropperShow=false
      //上傳之后,后端接口返回數據(url)類似response
      this.teacher.avatar = data.url
      //上傳組件初始化
        this.imagecropperKey = this.imagecropperKey+1
     
    },
      }
  }
  </script>

VUE+element-ui文件上傳的代碼怎么寫

VUE+element-ui文件上傳的代碼怎么寫

文件上傳(el-upload)

<template>
  <div class="app-container">
    <el-form label-width="120px">
      <el-form-item label="信息描述">
        <el-tag type="info">excel模版說明</el-tag>
        <el-tag>
          <i class="el-icon-download"/>
          <a :href="'/static/01.xlsx'">點擊下載模版</a>
        </el-tag>

      </el-form-item>

      <el-form-item label="選擇Excel">
        <el-upload
          ref="upload"
          :auto-upload="false"
          :on-success="fileUploadSuccess"
          :on-error="fileUploadError"
          :disabled="importBtnDisabled"
          :limit="1"
          :action="BASE_API+'/eduservice/subject/addSubject'"
          name="file"
          accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
          <el-button slot="trigger" size="small" type="primary">選取文件</el-button>
          <el-button
            :loading="loading"
            
            size="small"
            type="success"
            @click="submitUpload">上傳到服務器</el-button>
        </el-upload>
      </el-form-item>
    </el-form>
  </div>
</template>
<script>
export default {
    data() {
        return {
            BASE_API: process.env.BASE_API, // 接口API地址
            importBtnDisabled: false, // 按鈕是否禁用,
            loading: false
        }
    },
    created() {

    },
    methods:{
        //點擊按鈕上傳文件到接口里面
        submitUpload() {
            this.importBtnDisabled = true
            this.loading = true
            // js: document.getElementById("upload").submit()
            this.$refs.upload.submit()
        },
        //上傳成功
        fileUploadSuccess(response) {
            //提示信息
            this.loading = false
            this.$message({
                type: 'success',
                message: '添加課程分類成功'
            })
            //跳轉課程分類列表
            //路由跳轉
            this.$router.push({path:'/subject/list'})
        },
        //上傳失敗
        fileUploadError() {
            this.loading = false
            this.$message({
                type: 'error',
                message: '添加課程分類失敗'
            })
        }
    }
}
</script>

VUE+element-ui文件上傳的代碼怎么寫

VUE+element-ui文件上傳的代碼怎么寫

注意

name屬性值要與后端接口參數MultipartFile的變量名一致,否則無法映射匹配傳值。
前端標識符屬性值和后端參數名稱(實體類中屬性名)保持一致,否則無法直接映射傳參,導致后端接收不到數據。

關于“VUE+element-ui文件上傳的代碼怎么寫”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“VUE+element-ui文件上傳的代碼怎么寫”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弥渡县| 武宁县| 同心县| 中牟县| 铁岭市| 昌平区| 博乐市| 鄂州市| 商丘市| 尉犁县| 工布江达县| 商城县| 南京市| 定日县| 广南县| 黄龙县| 阿城市| 颍上县| 濉溪县| 响水县| 太仓市| 霍州市| 女性| 和田县| 张掖市| 锦屏县| 上蔡县| 勃利县| 盐池县| 福安市| 云南省| 南城县| 马龙县| 南安市| 红原县| 大同县| 沅陵县| 北川| 左权县| 永顺县| 鄂州市|