国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue+element ui 實現文件上傳下載

這篇具有很好參考價值的文章主要介紹了vue+element ui 實現文件上傳下載。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.上傳html代碼:

<el-upload 
    ref="upload" 
    :limit="10" 
    accept=".jpg,.gif,.png,.jpeg,.txt,.pdf,.doc,.docx,.xls,.xlsx"
    name="files" 
    :multiple="true" 
    action 
    :headers="myToken" 
    :on-change="handleFileChange"
    :before-remove="handleFileRemove" 
    :auto-upload="false" 
    :file-list="upload.fileList">
    <el-button 
        slot="trigger" 
        size="small" 
        type="primary" 
        class="color">
        選取文件
    </el-button>
</el-upload>
<div>支持上傳".jpg,.gif,.png,.jpeg,.txt,.pdf,.doc,.docx,.xls,.xlsx" 文件,最多上傳10個</div>

2.api中需要攜帶的數據

//文件上傳api
export const upload = (data, date, userNumber) => axios.post(`/file/upload?date=${date}&userNumber=${userNumber}`, data, { headers: { 'Content-Type': 'multipart/form-data', token: window.localStorage.getItem('token') } });
//文件下載api
export const download = (data) => axios.post("/file/download", data, { responseType: "blob" },);

3.上傳js代碼

export default {
    data() {
        return {
            upload: {
                fileList: [],
                fileName: []
            },
            myToken: {
                Authorization: localStorage.getItem("token"),
            },
            date: "",
            userNumber: "",
        }
    },
    methods: {
        // 將文件上傳坐在form表單中時,出發(fā)添加校驗成功后進行文件上傳
        add(formName) {
            this.$refs[formName].validate(async (valid) => {
                if (valid) {
                     //需要的js代碼
                    // 創(chuàng)建新的數據對象
                    let formData = new FormData();
                    // 將上傳的文件放到數據對象中
                    this.upload.fileList.forEach(file => {
                        formData.append('file', file.raw);
                    });
                    var date1 = new Date()
                    this.data = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate()
                    this.userNumber = JSON.parse(decodeURIComponent(window.atob(localStorage.getItem("userNumber"))));
                        let res = await SuperviseSave(params)//上傳表單內容
                        if (res.status == 200) {
                            try {
                                // 添加成功
                                let res = await upload(formData, this.data, this.userNumber)//上傳文件
                                if (res.data == "上傳成功") {
                                    this.close("addSuccess")
                                    this.success("數據添加成功")
                                }
                            } catch (err) {
                                if (err.data = "upload failed:新建 DOCX 文檔.docx文件不能為空") {
                                    this.success(err.data)
                                }
                            }
                        }
                    } 
                } else {
                    return false;
                }
            });
        },
        // 上傳發(fā)生變化鉤子
        handleFileChange(file, fileList) {
            this.upload.fileList = fileList;
            const newListLength = new Set(fileList.map(item => item.name)).size;
            const listLength = fileList.length;
            if (listLength > newListLength) {
                this.success("文件名存在重復,可能會導致文件覆蓋,請進行修改")
            }
        },
        // 刪除之前鉤子
        handleFileRemove(file, fileList) {
            this.upload.fileList = fileList;
        },
    },
}

下載html代碼

<!-- 查看 -->
<template>
    <div class="government-display">
        <el-button type="info" class="region-btn-back" icon="el-icon-back" @click="back">
            返回
        </el-button>
        <div v-for="item in title" :key="item.prop" class="government-display-title">
            {{ item.title }}:
            <span> {{ msg[item.prop] }}</span>
        </div>
        <div>
            <div class="government-display-title">附件:</div>
            <div v-for="item in uploadPicture" >{{ item.fileName }}<span class="download" @click="downLoad(item.fileName, item.filePath)">點擊下載</span></div>
        </div>
    </div>
</template>

下載js代碼

data() {
        return {
            uploadPicture: [],
            filePath: ""
        }
    },
 methods: {
        //請求文件下載接口
        async downLoad(fileName, filePath) { 
            //請求下載接口
            let res =await download({
                filePath,    //文件存儲路徑
                fileName,    //文件名
            })
            //配置一下代碼進行下載
            let url = window.URL.createObjectURL(new Blob([res.data]));
                    let link = document.createElement("a");
                    link.style.display = "none";
                    link.href = url;
                    link.setAttribute("download", fileName); //fileName下載后的文件名
                    document.body.appendChild(link);
                    link.click();
                     // 釋放內存
                    window.URL.revokeObjectURL(link.href)
        }
    },
// 文件上傳
export const upload = (data, date, userNumber) => axios.post(`/file/upload?date=${date}&userNumber=${userNumber}`, data, { headers: { 'Content-Type': 'multipart/form-data', token: window.localStorage.getItem('token') } });
// 文件上傳
export const checkFiles = (data, date, userNumber) => axios.post(`/file/checkFiles?date=${date}&userNumber=${userNumber}`, data, { headers: { 'Content-Type': 'multipart/form-data', token: window.localStorage.getItem('token') } });
//文件下載
export const download = (data) => axios.post("/file/download", data, { responseType: "blob" },);

文章來源地址http://www.zghlxwxcb.cn/news/detail-628378.html

到了這里,關于vue+element ui 實現文件上傳下載的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【java】java實現大文件的分片上傳與下載(springboot+vue3)

    【java】java實現大文件的分片上傳與下載(springboot+vue3)

    源碼: https://gitee.com/gaode-8/big-file-upload 演示視頻 https://www.bilibili.com/video/BV1CA411f7np/?vd_source=1fe29350b37642fa583f709b9ae44b35 對于超大文件上傳我們可能遇到以下問題 ? 大文件直接上傳,占用過多內存,可能導致內存溢出甚至系統崩潰 ? 受網絡環(huán)境影響,可能導致傳輸中斷,只能重

    2024年02月02日
    瀏覽(29)
  • SpringBoot+vue文件上傳&下載&預覽&大文件分片上傳&文件上傳進度

    SpringBoot+vue文件上傳&下載&預覽&大文件分片上傳&文件上傳進度

    SpringBoot+vue 大文件分片下載 Blob File spark-md5根據文件內容生成hash 大文件分片上傳(批量并發(fā),手動上傳)vue組件封裝-form組件 vue上傳大文件/視頻前后端(java)代碼 springboot+vue自定義上傳圖片及視頻 SpringBoot + VUE實現前臺上傳文件獲取實時進度( 使用commons-fileupload設置上傳監(jiān)聽

    2024年02月05日
    瀏覽(68)
  • SpringBoot整合hdfs,實現文件上傳下載刪除與批量刪除,以及vue前端發(fā)送請求,實現前后端交互功能;

    SpringBoot整合hdfs,實現文件上傳下載刪除與批量刪除,以及vue前端發(fā)送請求,實現前后端交互功能;

    部分工具類代碼參考文章:https://blog.csdn.net/qq_27242695/article/details/119683823 前端實現效果 HDFSController HDFS FileInterface (文件接口) HDFS FileImplService (文件接口實現類) HDFSConfig(從yaml讀取文件) HDFSUTils 前端vue代碼:

    2024年02月16日
    瀏覽(130)
  • .net6Api后臺+VUE3前端實現上傳和下載文件全過程

    .net6Api后臺+VUE3前端實現上傳和下載文件全過程

    首先本文參考的是,感謝博主: net6WebApi上傳下載文件_cduoa的博客-CSDN博客_webapi下載文件 在博主的基礎上,增加了新的功能,代碼中有注明,并且使用VUE3前端實現。 后端部分: 1.首先建立IFileService文件 2.建立FileService文件 3.增加FileController文件 4.Program文件中,進行配置和跨域

    2023年04月09日
    瀏覽(32)
  • Vue2-文件上傳、下載場景功能

    在項目開發(fā)中,上傳文件的應用場景非常的多,一般情況下,上傳的接口都是由公司內部自己開發(fā)一套適用于任何場景都可以使用的接口,但是這意味著該接口所涉及到的工作量與技術點就非常的多,且不穩(wěn)定。于是大公司選擇了前者自己研發(fā),小公司則選擇了性價比更高的

    2024年02月07日
    瀏覽(123)
  • 文件上傳下載系列——如何實現文件秒傳

    文件上傳下載系列——如何實現文件秒傳

    ??簡介: ??核心思想: MD5是什么? 實現步驟: ??實操: 1、java生成文件MD5碼 2、javascript生成文件MD5碼 ??基于秒傳的分片上傳下載 上傳: 下載: ??MD5存儲位置 1、持久化到數據庫中 2、存儲到redis中 ??總結 ????????文件秒傳是指在文件上傳過程中,如果上傳的文件

    2024年02月01日
    瀏覽(35)
  • 實現文件上傳和下載

    文件上傳的前端頁面: multiple表示支持一次上傳多個文件 上傳單個文件的servlet代碼: @MultipartConfig該注解表示這個servlet支持文件上傳 支持一次上傳多個文件的servlet代碼實例: 展示文件列表: 下載文件的前端頁面 下載文件的servlet:

    2024年02月08日
    瀏覽(27)
  • SpringMVC實現文件上傳&下載(2)

    文件上傳步驟 第一步:由于SpringMVC使用的是commons-fileupload實現,故將其組件引入項目中,這里用到的是commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar。 第二步:spring-mvx中配置MultipartResolver處理器??稍诖思尤雽ι蟼魑募膶傩韵拗啤?第三步:在Controller的方法中添加MultipartFile參數。

    2024年03月09日
    瀏覽(29)
  • fastDFS實現文件上傳與下載

    fastDFS實現文件上傳與下載

    我們在做項目的時候經常會遇到文件的上傳與下載。你們是怎么做的呢?現在有一個技術可以非常簡單的實現這個功能——fastDFS FastDFS是一個分布式文件系統,使用FastDFS可以非常容易搭建一套高性能的文件服務器集群提供文件上傳、下載服務。 它主要包含兩個部分, Tracke

    2024年02月07日
    瀏覽(38)
  • SpringBoot 如何實現文件上傳和下載

    SpringBoot 如何實現文件上傳和下載

    當今Web應用程序通常需要支持文件上傳和下載功能,Spring Boot提供了簡單且易于使用的方式來實現這些功能。在本篇文章中,我們將介紹Spring Boot如何實現文件上傳和下載,同時提供相應的代碼示例。 Spring Boot提供了Multipart文件上傳的支持。Multipart是HTTP協議中的一種方式,用

    2024年02月15日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包