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

溫馨提示×

溫馨提示×

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

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

vue如何實現文件上傳不能大于10mb

發布時間:2023-01-30 14:26:20 來源:億速云 閱讀:181 作者:iii 欄目:web開發

本文小編為大家詳細介紹“vue如何實現文件上傳不能大于10mb”,內容詳細,步驟清晰,細節處理妥當,希望這篇“vue如何實現文件上傳不能大于10mb”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

vue文件上傳不能大于10mb的實現方法:1、創建“index.vue”;2、設置結構為“<el-form :model="form" class="form" ref="ruleForm" :rules="rules" label-width="120px">”;3、通過邏輯代碼“methods: {beforeUpload(file) {...}”實現判斷文件大小即可。

vue中,Upload上傳組件el-upload的使用-zip格式,大小不超過10M & store中獲取和保存token

效果

vue如何實現文件上傳不能大于10mb

代碼

index.vue

結構
 <el-form :model="form" class="form" ref="ruleForm" :rules="rules" label-width="120px">
   <el-form-item label="上傳程序包:" prop="fileName">
       <el-upload :action="upload.url" :on-success="onSuccess" :on-error="onError" :headers="upload.header" :beforeUpload="beforeUpload">
           <el-button type="mini">上傳</el-button>
           zip格式,大小不超過10M
       </el-upload>
   </el-form-item>
   <el-form-item>
       <el-button type="primary" @click="onSubmit">立即添加</el-button>
       <el-button @click="backToList">取消</el-button>
   </el-form-item>
</el-form>
邏輯
<script>import store from '@/store/index';export default {
 data() {
   return {
     upload: {
       url: `${App.apiConfig.service}/dcp-manage/dcp/compile/manage/service/editor/version/upload`,
       header: {
         token: store.state.token        },
       resData: {}
     },
     form: {
       nameDesc: '',
       age:''
     },
     rules: {
       nameDesc: [
         { required: true, message: '不能為空', trigger: 'blur' }
       ],          
       fileName: [
         { required: true, message: '不能為空', trigger: 'blur' }
       ]
     }        
   }
 },    
 methods: {
   beforeUpload(file) {
     const sizeLimit = file.size / 1024 / 1024 > 10
     if (sizeLimit) {
       this.$message.warning('上傳文件大小不能超過 10MB!')
     }
     const fileFamart = file.name.split('.')[file.name.split('.').length - 1];
     if (fileFamart !== 'zip') {
       this.$message.warning('必須上傳zip格式的文件!')
     }
     return !sizeLimit && fileFamart === 'zip'
   },
   onSuccess(data) {
     this.form = {
       ...this.form,
       ...data.data  // 把上傳文件添加到form中
     }
     this.$message.success('上傳成功!');
   },
   onError() {
     this.$message.error('上傳失敗!');
   },
   // 立即添加
   onSubmit() {
     this.$refs.ruleForm.validate(valid => {  // 校驗form表單
       if (!valid) return false;

       ajax.post('cs_addVersion', this.form).then(res => {
         this.$message.success('新增成功!');
         this.backToList();  // 新增成功后返回
       }, err => {
         this.$message.error('新增失敗!');
       });
     });
   },
   // 取消
   backToList() {
     this.$router.back();
   }      
 }}
存儲

src\store\index.js

/*
* @Descripttion:
* @version:
* @Author:
* @Date: 2022-06-04 09:34:23
* @LastEditors: Please set LastEditors
* @LastEditTime: 2022-06-04 11:20:26
*/import Vue from 'vue';import Vuex from 'vuex';Vue.use(Vuex);// 狀態const state = {
 token: sessionStorage.getItem('token'),
 userInfo: JSON.parse(sessionStorage.getItem('userInfo')),}// mutations用來操作stateconst mutations = {
 // 保存token
 SAVE_TOKEN (state, token) {
   sessionStorage.setItem('token', token);
   state.token = token;
 },
 // 保存用戶相關信息
 SAVE_USERINFO (state, userInfo) {
   sessionStorage.setItem('userInfo', JSON.stringify(userInfo));
   state.userInfo = userInfo;
 },}export default new Vuex.Store({
 state,
 mutations})

讀到這里,這篇“vue如何實現文件上傳不能大于10mb”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

vue
AI

舞阳县| 凤庆县| 崇左市| 布拖县| 揭西县| 荃湾区| 黄梅县| 二连浩特市| 勐海县| 呼和浩特市| 红河县| 石家庄市| 双峰县| 白银市| 班戈县| 准格尔旗| 方城县| 安乡县| 灵川县| 确山县| 泸水县| 自治县| 井研县| 博罗县| 浙江省| 呼伦贝尔市| 新民市| 青河县| 从化市| 南靖县| 新晃| 栾川县| 南和县| 宁强县| 枣阳市| 太保市| 嘉善县| 宁河县| 治县。| 东光县| 旺苍县|