SpringBoot+Vue前后端分离压缩包下载

常规前后端不分离生成压缩包步骤如下:
1.添加ZipUtil工具类
2.使用

    /**
     * 设置下载文件的response信息
     * @param filename 下载文件名
     */
    private static void setResponse(String filename, HttpServletResponse response) throws UnsupportedEncodingException {
   
        // 清除首部的空白行(针对jsp文件编译后生成html时产生的空白行)
        response.reset();
        // 自动判断下载文件类型
        response.setContentType("multipart/form-data");
        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
    }

前后端分离实现压缩包的思路如下:
1.查询数据库,获取下载文件的链接
2.将链接的文件读取为文件输入流
3.将流以blob形式response至前端
4.前端接收blob,生成zip
1.ZipUtil

package com.example.springboottest.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

/**
 @author l
 @date 2020-11-30  18:50
 */
public class ZipUtil {
   
    private static final Logger log = LoggerFactory.getLogger(ZipUtil.class);

    /**
     * 将压缩文件下载到本地
     */
    public static void doZip(String zipFilename, Map<String, InputStream> isMap, String localPath) throws IOException {
   
        log.info("==> 开始下载zip文件{}到:{}", zipFilename, localPath);
        doZip(zipFilename, isMap, new FileOutputStream(localPath));
    }

    /**
     * 通过浏览器下载压缩文件
     */
    public static void doZip(String zipFilename, Map<String, InputStream> isMap, HttpServletResponse response) throws IOException {
   
        log
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
要提升Spring Boot Vue文件上传的速率,可以采取以下几个步骤: 1. 增加文件上传的并发数:在Spring Boot的配置文件中,可以通过设置`spring.servlet.multipart.max-request-size`和`spring.servlet.multipart.max-file-size`来增加允许上传的文件大小限制。同时,也可以使用Apache Commons FileUpload库中的`FileItemFactory`接口和`DiskFileUpload`类来处理文件上传请求,并通过多线程处理请求以提高并发处理能力。 2. 压缩文件:在前端使用Vue时,可以采用压缩文件的方式来减少文件上传的大小。可以使用Webpack等工具对静态资源进行打包压缩,减小文件体积,从而优化上传速率。同时,在后端使用Gzip或Deflate等压缩算法对响应数据进行压缩,再传输给前端。这样不仅减少了网络传输的时间和带宽占用,还可以提高文件上传速率。 3. 使用异步处理:可以在Spring Boot中使用异步处理技术来处理文件上传请求。通过使用Java的异步处理机制,在接受到上传请求后,将请求放入消息队列中,然后异步处理队列中的请求。这样可以在接受到上传请求后立即返回响应,而不需要等待文件上传完成。既能提高用户体验,又能减少请求等待时间,提高文件上传速率。 4. 使用CDN加速:将上传的文件存储在CDN(内容分发网络)中,可以通过就近访问和负载均衡等技术来提高文件上传的速度。CDN会根据用户的网络条件和地理位置,自动选择最佳的节点提供服务,从而提升文件上传的速率。 总结起来,要提高Spring Boot Vue文件上传的速率,可以采取增加并发数、压缩文件使用异步处理和使用CDN加速等方法,从而优化上传过程,提高上传速率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值