91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

淮安市| 九台市| 平阳县| 郓城县| 侯马市| 西乌珠穆沁旗| 雷波县| 商南县| 南皮县| 崇义县| 上犹县| 白城市| 郎溪县| 伊吾县| 贵州省| 利辛县| 波密县| 黑山县| 武功县| 合肥市| 水富县| 阜阳市| 临夏县| 宣恩县| 裕民县| 河曲县| 庆元县| 乐平市| 抚州市| 常宁市| 竹山县| 黎平县| 武鸣县| 恩平市| 沙洋县| 武山县| 西充县| 灵丘县| 且末县| 新龙县| 广水市|