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

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • vue2文件流下載成功后文件格式錯誤、打不開及內容缺失如何解決

vue2文件流下載成功后文件格式錯誤、打不開及內容缺失如何解決

發布時間:2023-04-27 11:43:49 來源:億速云 閱讀:203 作者:iii 欄目:開發技術

這篇文章主要介紹了vue2文件流下載成功后文件格式錯誤、打不開及內容缺失如何解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇vue2文件流下載成功后文件格式錯誤、打不開及內容缺失如何解決文章都會有所收獲,下面我們一起來看看吧。

    項目場景

    后端采用文件流的方式將文件信息發送給前端,前端需要接收相應的流信息做出對應的操作,如接收到圖片、pdf將進行預覽模式,將接收到壓縮包形式的則進行文件下載。后端對相應的文件進行不同的傳輸方式進行傳輸,前端則需要接收相應的信息并進行操作。

    問題描述

    當收到圖片、pdf則可以正常的進行操作,當接收到壓縮包文件流時候可以正常下載,但是下載后,下載的文件損壞了。

    原因分析

    由于文件不同,所以接收方式也是有區別的,普通的圖片、pdf可以采用日常的請求方式去請求,而壓縮包的請求需要加上接收數據格式responseType:為blob,默認的responseType為""。

    解決方案

    1、圖片的解決方式

    export const getFileImg = row => {
        return request({
            url: '/api/blade-resource/oss/endpoint/get-file-secret',	//請求路徑
            method: 'get',	//請求模式
            params: row,	//請求參數
        })
    }

    2、文件流的解決方式

    export const getFileZip = row => {
        return request({
            url: '/api/blade-resource/oss/endpoint/get-file-secret',	//請求路徑
            method: 'get',	//請求模式
            params: row,	//請求參數
            responseType: 'blob',
        })
    }

    3、文件下載

    /**
     * 下載壓縮包文件
     * @param {blob} fileArrayBuffer 文件流
     * @param {String} filename 文件名稱
     * @param {String} fileType 文件格式
     */
    export const downloadZip = (fileArrayBuffer, filename, fileType) => {
      let data = new Blob([fileArrayBuffer], { type: fileType == 'zip' ? 'application/zip,charset=utf-8' : 'application/x-rar-compressed,charset=utf-8' });
      if (typeof window.chrome !== 'undefined') {
        // Chrome
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(data);
        link.download = filename;
        link.click();
        console.log(data);
      } else if (typeof window.navigator.msSaveBlob !== 'undefined') {
        // IE
        var blob = new Blob([data], { type: fileType == 'zip' ? 'application/zip' : 'application/x-rar-compressed' });
        window.navigator.msSaveBlob(blob, filename);
      } else {
        // Firefox
        var file = new File([data], filename, { type: fileType == 'zip' ? 'application/zip' : 'application/x-rar-compressed' });
        window.open(URL.createObjectURL(file));
      }
    }

    4、Blob下載時的文件格式

    文件格式type類型
    aacaudio/aac
    .abwapplication/x-abiword
    .avivideo/x-msvideo
    .azwapplication/vnd.amazon.ebook
    .binapplication/octet-stream
    .bmpimage/bmp
    .bzapplication/x-bzip
    .bz2application/x-bzip2
    .cshapplication/x-csh
    .csstext/css
    .csvtext/csv
    .docapplication/msword
    .docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
    .eotapplication/vnd.ms-fontobject
    .epubapplication/epub+zip
    .gifimage/gif
    .htm/.htmltext/html
    .icoimage/vnd.microsoft.icon
    .icstext/calendar
    .jarapplication/java-archive
    .jpeg/.jpgimage/jpeg
    .jstext/javascript
    .jsonapplication/json
    .jsonldapplication/ld+json
    .mid/.midiaudio/midi audio/x-midi
    .mjstext/javascript
    .mp3audio/mpeg
    .mpegvideo/mpeg
    .mpkgapplication/vnd.apple.installer+xml
    .odpapplication/vnd.oasis.opendocument.presentation
    .odsapplication/vnd.oasis.opendocument.spreadsheet
    .odtapplication/vnd.oasis.opendocument.text
    .ogaaudio/ogg
    .ogvvideo/ogg
    .ogxapplication/ogg
    .otffont/otf
    .pngimage/png
    .pdfapplication/pdf
    .pptapplication/vnd.ms-powerpoint
    .pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentation
    .rarapplication/x-rar-compressed
    .rtfapplication/rtf
    .svgimage/svg+xml
    .swfapplication/x-shockwave-flash
    .tarapplication/x-tar
    .tif/.tiffimage/tiff
    .ttffont/ttf
    .txttext/plain
    .vsdapplication/vnd.visio
    .wavaudio/wav
    .webaaudio/webm
    .webmvideo/webm
    .webpimage/webp
    .wofffont/woff
    .woff2font/woff2
    .xhtmlapplication/xhtml+xml
    .xlsapplication/vnd.ms-excel
    .xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    .xmlapplication/xml 代碼對普通用戶來說不可讀 (RFC 3023, section 3)text/xml 代碼對普通用戶來說可讀 (RFC 3023, section 3)
    .xulapplication/vnd.mozilla.xul+xml
    .zipapplication/zip
    .3gpvideo/3gpp audio/3gpp(若不含視頻)
    .3g2video/3gpp2 audio/3gpp2(若不含視頻)
    .7zapplication/x-7z-compressed

    關于“vue2文件流下載成功后文件格式錯誤、打不開及內容缺失如何解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“vue2文件流下載成功后文件格式錯誤、打不開及內容缺失如何解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

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

    AI

    阿拉尔市| 志丹县| 延川县| 内江市| 北辰区| 双柏县| 昭通市| 云霄县| 准格尔旗| 手游| 抚州市| 右玉县| 铜梁县| 平陆县| 巢湖市| 南溪县| 同德县| 和龙市| 河池市| 呼图壁县| 金湖县| 临泽县| 昌图县| 五莲县| 新丰县| 景泰县| 卓资县| 土默特右旗| 英吉沙县| 密云县| 伽师县| 万州区| 治多县| 宾阳县| 清丰县| 阿荣旗| 开阳县| 凤凰县| 报价| 大足县| 依兰县|