zoukankan      html  css  js  c++  java
  • vue+springboot上传和下载附件功能

    https://blog.csdn.net/qq_35867245/article/details/84325385

    上传附件(服务端代码)

    第一步:在application.yml中配置附件要上传的路径(此路径也是下载的路径)

    ***:windows路径和linux的路径是不同的,定义路径时要仔细(存放路劲自己定义即可)

    第二步:在服务端要调用接口所在的类(一般为控制层controller)定义一个变量

     

    第三步:上传附件的代码:

    本人遇见的坑:部署时vue+springboot分离部署

    linux中的文件上传路径是java容器内部的路径,要进入容器内部才能看到,

    进入java容器内部命令时

    docker exec -it 容器名 bash

    下载附件

    ExcelReaderUtil工具public static void download(String path, HttpServletResponse response) {

            try {            
                if(StringUtils.isNotBlank(path)){
                    File file = new File(path);
                    // 取得文件名。
                    String fileName = file.getName();
                    // 以流的形式下载文件。
                    InputStream fis = new BufferedInputStream(new FileInputStream(path));
                    byte[] buffer = new byte[fis.available()];
                    fis.read(buffer);
                    fis.close();
                    // 清空response
                    response.reset();
                    String uncod=URLDecoder.decode(fileName,"UTF-8");
                        fileName = new String(uncod.getBytes("UTF-8"), "iso-8859-1");
                    response.setHeader("Content-Disposition", "attachment;filename=".concat(String.valueOf(fileName)));
                    // 设置response的Header
                    response.addHeader("Content-Length", "" + file.length());
                    OutputStream toClient = new BufferedOutputStream(
                            response.getOutputStream());
                    toClient.write(buffer);
                    toClient.flush();
                    toClient.close();
                }
                // path是指欲下载的文件的路径。
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        } 
    ---------------------
     

  • 相关阅读:
    Oracle-函数-split 和 splitstr 的创建
    git merge方法
    查看Android 设备进程id
    内存泄漏
    Mac显示隐藏文件快捷键
    gradle版本
    commit单一文件
    21不下发信号
    FileInputStream read函数何时返回-1
    maven turbonet目录
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/11010465.html
Copyright © 2011-2022 走看看