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

vue3導(dǎo)入文件夾、導(dǎo)入文件、導(dǎo)出zip、導(dǎo)出

這篇具有很好參考價值的文章主要介紹了vue3導(dǎo)入文件夾、導(dǎo)入文件、導(dǎo)出zip、導(dǎo)出。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

記錄一下之前項目用到的導(dǎo)入文件夾導(dǎo)入文件出現(xiàn)的一些注意的點,直接上代碼

注意:在傳相同的文件時,會發(fā)現(xiàn)無法觸發(fā)change事件??

 nextTick(() => {
        planFileRef.value.value = "";
        planWordRef.value.value = "";
    });
<template>

<p>上傳文件夾</p>
                    <input
                        ref="planFileRef"
                        class="show0"
                        type="file"
                        webkitdirectory
                        @change="selectFile"
                    />
<p>上傳文件</p>
                    <input
                        ref="planWordRef"
                        type="file"
                        class="show0"
                        multiple
                        @change="selectWord"
                    />
</template>

<script setup>

import { ref } from "vue";
let planFileRef = ref();
let planWordRef = ref();

// 文件夾導(dǎo)入
const selectFile = () => {
    let project = store.state.project;     //給后端傳的,可有可無
    var files = planFileRef.value.files;
    var data = new FormData();
    // 創(chuàng)建一個表單數(shù)據(jù)
    //文件夾導(dǎo)入按照 特定開頭和結(jié)尾導(dǎo)入
    let regexArr = [
        /^rascn.*dat$/,
        /^rlight.*dat$/,
        /^rpimp.*xml$/,
        /^rppka.*xml$/,
        /^rpppk.*xml$/,
        /^rptrk.*xml$/,
        /^rsbeo.*dat$/,
        /^rsps.*dat$/,
    ];

    for (let i = 0; i < files.length; i++) {
        regexArr.forEach((item) => {
            if (item.test(files[i].name)) {
                data.append("file", files[i]);
            }
        });
    }
    data.append("projId", project.id);
    importApi(data);
};

// 文件導(dǎo)入
const selectWord = () => {
    let project = store.state.project;    //給后端傳的,可有可無
    var files = planWordRef.value.files;

    const formData = new FormData();
    // 創(chuàng)建一個表單數(shù)據(jù)
    for (let i = 0; i < files.length; i++) {
        let a = files[i];
        console.log(a);
        formData.append("file", a);
    }
    formData.append("projId", project.id);
    importApi(formData);
};

//請求
const importApi = (formData) => {
    $http
        .post("/project/file", formData, {
            headers: {
                "Referrer-Policy": "unsafe-url",
                "Content-Type": "multipart/form-data",
            },
        })
        .then((res) => {
            if (res.code == 1) {
         
        })
};

</script>

?前端導(dǎo)出zip壓縮包

我就用了最原始的方法axios 導(dǎo)出zip? ?因為之前也沒有這樣的需求

遇到過一個小問題就是,我的項目在config.js中判斷了是不是開發(fā)環(huán)境還是生產(chǎn)環(huán)境,但我實際中

開發(fā)測試是沒有問題的,打包給后端生產(chǎn)環(huán)境下,就會導(dǎo)出zip有問題,這時候查看是config,js還是開發(fā)環(huán)境下的api? 所以我在里面就多加了一個一模一樣的判斷,這也是最笨的方法

import axios from "axios";

//導(dǎo)出工程
const exportProj = () => {
    let project = store.state.project;  

    //判斷生產(chǎn)環(huán)境和開發(fā)環(huán)境

    let urlApi = "";
    if (process.env.NODE_ENV == "development") {
        //開發(fā)環(huán)境
        urlApi = baseUrl + `/project/export/${project.id}`;
    } else if (process.env.NODE_ENV == "production") {
        //生產(chǎn)環(huán)境
        urlApi = `/project/export/${project.id}`;
    }

    axios({
        // 用axios發(fā)送post請求
        method: "get",
        url: urlApi, // 請求地址
        data: {
            data: {},
        },
        responseType: "blob", // 表明返回服務(wù)器返回的數(shù)據(jù)類型
        headers: {
            "Content-Type": "application/json; application/octet-stream",
        },
    })
        .then((res) => {
            let blob = new Blob([res.data], { type: "application/zip" });
            // 設(shè)置下載的內(nèi)容以及格式,zip文件必須設(shè)置type: "application/zip"
            const url = window.URL.createObjectURL(blob); // 設(shè)置路徑
            const link = window.document.createElement("a"); // 創(chuàng)建a標(biāo)簽
            link.href = url;
            link.download = pdfData.title + `.zip`; // 設(shè)置文件名
            link.style.display = "none";
            link.click();
            URL.revokeObjectURL(url); // 釋放內(nèi)存
            loading.close();
            ElMessage({
                message: "導(dǎo)出成功",
                type: "success",
            });
        })
        .catch(function (error) {
            console.log(error);
            loading.close();
        });
};

導(dǎo)出dat格式(這個簡單無需多說)文章來源地址http://www.zghlxwxcb.cn/news/detail-828302.html

const downloadDat = () => {
    //data是文件流
    let project = store.state.project;
    let url =
        window.location.origin +
        baseUrl +
        `/event/download/dat/${project.id}?&title=${pdfData.title}&projId=${project.id}`;
    console.log(url);
    let fileName = pdfData.title + ".dat"; //文件名稱
    const a = document.createElement("a");
    a.href = url;
    a.download = fileName;
    a.style.display = "none";
    document.body.appendChild(a);
    a.click();
    URL.revokeObjectURL(a.href);
    document.body.removeChild(a);
};

到了這里,關(guān)于vue3導(dǎo)入文件夾、導(dǎo)入文件、導(dǎo)出zip、導(dǎo)出的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Qt 實現(xiàn)壓縮文件、文件夾和解壓縮操作zip

    通過Qt自帶的庫來實現(xiàn),使用多線程方式,通過信號和槽來觸發(fā)壓縮與解壓縮,并將壓縮和解壓縮結(jié)果回傳過來。 使用的類: 1、在.pro文件中添加模塊gui-private 若未cmake工程,需要在CMakeList.txt中添加 待驗證: 1、中文路徑,文件名含有中文 2、隱藏文件夾,.dir和…dir,例如:

    2024年02月14日
    瀏覽(31)
  • java將指定文件夾按照文件目錄壓縮為zip壓縮包

    將指定的壓縮包作為流發(fā)送給瀏覽器 下面粘貼一些沒有用的東西 ,是我自已業(yè)務(wù)的邏輯,,主要邏輯是根據(jù)傳入文件不同 判斷將壓縮包發(fā)送給瀏覽器 還是將xls模板發(fā)送給瀏覽器

    2024年02月16日
    瀏覽(27)
  • vue3+vite+ts項目搭建之后,vscode文件夾下紅色波浪線問題

    vue3+vite+ts項目搭建之后,vscode文件夾下紅色波浪線問題

    ????????搭建完vue3+vite+ts項目之后,用vscode打開項目,發(fā)現(xiàn) .vue 文件和 main.ts 文件夾下都有紅色破浪線(如下圖所示)。幾番周折終于解決了這個問題。 1. 解決.ts文件報錯 報錯原因:ts不識別.vue后綴的文件。 解決方式:創(chuàng)建腳手架的時候,項目的根目錄下會生成一個en

    2024年02月04日
    瀏覽(20)
  • Java實現(xiàn)打包壓縮文件或文件夾生成zip以實現(xiàn)多文件批量下載

    Java實現(xiàn)打包壓縮文件或文件夾生成zip以實現(xiàn)多文件批量下載

    有時候在系統(tǒng)中需要一次性下載多個文件,但逐個下載文件比較麻煩。這時候,最好的解決辦法是將所有文件打包成一個壓縮文件,然后下載這個壓縮文件,這樣就可以一次性獲取所有所需的文件了。 下面是一個名為CompressUtil的工具類的代碼,它提供了一些方法來處理文件壓

    2024年02月06日
    瀏覽(32)
  • 【Java 基礎(chǔ)篇】Java Zip壓縮:簡化文件和文件夾的壓縮操作

    在Java開發(fā)中,經(jīng)常會遇到需要對文件和文件夾進行壓縮和解壓縮的需求。Java提供了Zip壓縮庫,使我們能夠輕松地進行文件和文件夾的壓縮操作。本文將詳細(xì)介紹Java中的Zip壓縮功能,并提供示例代碼來演示其用法。 Zip壓縮是一種常見的文件壓縮格式,它將多個文件和文件夾打

    2024年02月15日
    瀏覽(32)
  • [python]批量解壓文件夾下所有壓縮包(rar、zip、7z)

    [python]批量解壓文件夾下所有壓縮包(rar、zip、7z)

    ????????在文件夾作用包含許多壓縮包的時候,解壓起來就很費時費力,尤其是在文件夾還存在嵌套的情況下,解壓起來就更麻煩了。Franpper今天給大家?guī)磉f歸遍歷指定路徑下的所有文件和文件夾,批量解壓所有壓縮包的方法,幫大家一鍵解壓。 ? ? ? ? 常見的壓縮包格

    2024年02月09日
    瀏覽(29)
  • Java利用Apache compress包實現(xiàn)文件夾壓縮成Zip包

    Apache common提供了很多實用的工具包,下面就說一下如何用compress包來壓縮文件夾。先引入compress,io和lang3這3個工具包: 這個方法實現(xiàn)了將文件夾下所有的文件壓縮成zip包,并輸出到文件流中,可以直接寫入到文件或提供給前端下載,工具類如下: 執(zhí)行main函數(shù)跑測試用例,發(fā)

    2024年01月20日
    瀏覽(23)
  • JavaScript實現(xiàn)訪問本地文件夾

    JavaScript實現(xiàn)訪問本地文件夾

    這個功能放在之前是不可能實現(xiàn)的,因為考慮到用戶的隱私,但是最近有一個新的api可以做到這一點。下面來進行一個簡單的功能實現(xiàn)。 我們調(diào)用showDirectoryPicker這個函數(shù)就可以實現(xiàn)一個選擇文件夾的功能。 options 可選 選項對象,包含以下屬性: id 通過指定 ID,瀏覽器能夠記

    2024年02月04日
    瀏覽(16)
  • JavaScript 打開本地文件夾的N種方法

    方法一 通過ActiveXObject對象 比如打開C盤: 方法二 設(shè)置一個不可見的input標(biāo)簽,通過input上面的webkitdirectory 屬性打開本地文件,我寫的是vue3用法: 方法三 設(shè)置一個不可見的input標(biāo)簽,通過input上面的multiple 屬性打開本地文件,我寫的是vue3用法:這個屬性與webkitdirectory 的具體

    2024年02月15日
    瀏覽(26)
  • git 怎么導(dǎo)入本地倉庫-將本地文件夾添加到Git倉庫

    git 怎么導(dǎo)入本地倉庫-將本地文件夾添加到Git倉庫

    1、(先進入項目文件夾)通過命令 git init 把這個目錄變成git可以管理的倉庫 2、把文件添加到版本庫中,使用命令 git add .添加到暫存區(qū)里面去,不要忘記后面的小數(shù)點“.”,意為添加文件夾下的所有文件 3、用命令 git commit告訴Git,把文件提交到倉庫。引號內(nèi)為提交說明 4、關(guān)

    2023年04月11日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包