springboot上传下载(springboot 上传)

springboot多文件上传

MultipartFile提供了以下方法来获取上传文件的信息:

getOriginalFilename,获取上传的文件名字;

getBytes,获取上传文件内容,转为字节数组;

getInputStream,获取一个InputStream;

isEmpty,文件上传内容为空,或者根本就没有文件上传;

getSize,文件上传的大小。

transferTo(File dest),保存文件到目标文件系统;

同时上传多个文件,则使用MultipartFile数组类来接受多个文件上传:

//多文件上传 @RequestMapping(value = "/batch/upload", method = RequestMethod.POST)

    @ResponseBody    public String handleFileUpload(HttpServletRequest request){

        ListMultipartFile files = ((MultipartHttpServletRequest) request)

                .getFiles("file");

        MultipartFile file = null;

        BufferedOutputStream stream = null;

        for (int i = 0; i files.size(); ++i) {

            file = files.get(i);

            if (!file.isEmpty()) {

                try {

                    byte[] bytes = file.getBytes();

                    stream = new BufferedOutputStream(new FileOutputStream(

                            new File(file.getOriginalFilename())));

                    stream.write(bytes);

                    stream.close();

                } catch (Exception e) {

                    stream = null;

                    return "You failed to upload " + i + " = "                            + e.getMessage();

                }

            } else {

                return "You failed to upload " + i

                        + " because the file was empty.";

            }

        }

        return "upload successful";

    }

可以通过配置application.properties对SpringBoot上传的文件进行限定默认为如下配置:

spring.servlet.multipart.enabled=true

spring.servlet.multipart.file-size-threshold=0

spring.servlet.multipart.location=

spring.servlet.multipart.max-file-size=1MB

spring.servlet.multipart.max-request-size=10MB

spring.servlet.multipart.resolve-lazily=false

enabled默认为true,既允许附件上传。

file-size-threshold限定了当上传文件超过一定长度时,就先写到临时文件里。有助于上传文件不占用过多的内存,单位是MB或KB,默认0,既不限定阈值。

location指的是临时文件的存放目录,如果不设定,则web服务器提供一个临时目录。

max-file-size属性指定了单个文件的最大长度,默认1MB,max-request-size属性说明单次HTTP请求上传的最大长度,默认10MB.

resolve-lazily表示当文件和参数被访问的时候再被解析成文件。

Springboot使用ftp进行文件上传下载

首先要在阿里云ECS上搭建ftp服务器,默认是有vsftpd ,它是 Linux 下的一款小巧轻快、安全易用的 FTP 服务器软件。

用下面命令查看是否安装了vsftpd,阿里云ECS默认是安装好的,如果没有参考网上文章安装。

新建用户ftpuser:

useradd ftpuser -d /home/ftpfile

设置用户密码:

passwd ftpuser

多数教程里面使用的标准的ftp maven依赖:

但是我使用的是阿里云的ECS上安装的ftp,在进行连接的时候他提示协议不正确,需要使用sftp,所以maven依赖换成了:

springboot上传下载(springboot 上传)  第1张

springboot zip文件上传无法解压

解决方法如下:

1、使用xshell登录服务器。

2、安装lrzsz软件。

3、使用rz-y命令然后进行文件上传。

4、使用sz命令下载,命令格式如下,之后就可以重新试一下文件上传后能不能解压。

springboot怎么解决文件上传慢

1、首先在运行中输入gpedit.msc,点击回车后即可打开“组策略对象编辑器”。

2、其次进入组策略对象编辑器界面之后,点击“计算机配置”,然后点击“管理模板”接着继续点击“网络”,再点击“QoS数据包计划程序”。

3、然后进入QoS数据包计划程序见界面之后,点击“限制可保留带宽”,并将其设置为“已启”。

4、最后在展开的界面中选择“带宽限制(%)”栏,并将带宽值“20”设置为“0”,这样就可以解决上传速度慢的情况了。

SpringBoot + SFTP 实现文件上传与下载实战

SFTP介绍

实战

1. 相关依赖(基于SpringBoot)

2. 相关配置

3. 将application.properties中配置转为一个Bean

4. 将上传下载文件封装成Service

5. 上传文件

6. 下载文件

7. 删除文件

8. 最后

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 13:49
下一篇 2023-09-23 13:49

相关推荐

  • 怎么开初中毕业证明(初中毕业证明怎么开?)

    学校如何开毕业证明? 1、毕业证明书需到原毕业高校开具。找到系教学主任或者是辅导员,根据他们的指示去办理,开一个毕业证明,其次还要到院教务处去打证明盖章,然后就可以了。 2、提交学...

    2023-09-27
  • 看男女需要加哪个微信?

    导读:今天新媒号来给各位分享关于看男女需要加哪个微信的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 微信怎么看对方是男是女 1、点击手机微信进入微信界面。...

    2023-03-09
  • 大数据与应用统计哪个专业好(2023年最新解答)

    导读:今天新媒号来给各位分享关于大数据与应用统计哪个专业好的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 统计学和大数据哪个专业好 一个偏理论,一个偏工程...

  • autojs破解下载?

    Auto.js不需要Root权限的手机端自动化软件 只支持安卓版本的一个软件。是一个不需要 Root 权限的 JavaScript 自动化软件。什么意思呢,就是在你的安卓手机上安装...

    2023-09-23
  • ai联集怎么没有反应?

    ai扩展没反应 1、打开AI软件,打开符号面板,导入一个符号将3D效果执行扩展。然后选中符号,点击上方的对象选项卡。之后点击轮廓化描边,解组就会有反应了。AdobeIllustra...

    2023-09-22
  • 区块链的区块怎么解释?

    区块链的区块是何含义? 1、区块链有两个含义:区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实...

    2023-09-22
  • 区块链最强组织有哪些

    国内有哪些区块链团队比较牛 布比网络技术有限公司:布比网络技术有限公司是一家国内领先的区块链金融科技公司,专注于区块链技术和产品的创新,拥有数十项核心专利技术,开发了高可扩展高性能...

    2023-09-22
  • 微信转账可以保留吗多久(2023年最新解答)

    导读:很多朋友问到关于微信转账可以保留吗多久的相关问题,本文新媒号就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧! 微信转账保留多长时间 问题一:微信最近转账...

    2023-03-09
  • 区块链和山寨币哪个好?

    数字货币怎么选?与区块链什么关系?什么样的币利润高值得投资?不容易被撸羊毛割韭菜! 数字货币要选有价值的,最好能了解评估出项目的落地机会大不大,像之前炒作出来的狗狗币,嫩模币,都只...

    2023-03-08
  • 黑马的golang培训?

    黑马程序员培训靠谱吗 1、黑马程序员这家IT培训机构非常不错,非常有实力。黑马程序员致力于服务各大软件企业,解决当前软件开发技术飞速发展,而企业招不到人才的困扰。 2、黑马程序员培...

    2023-09-23

发表回复

登录后才能评论