Solon Web 文件上传的最佳实践

文件上传是 Web 开发中最常见的一个应用场景。一般在处理数据时,会有两种常见的方案:直接把文件流放在内存里,或者把文件流先缓冲到磁盘。

1、如果是高频且文件极小

使用纯内存模式,默认即可。如果高频小文件,是不适合用"临时文件模式"的,磁盘可能容易刷坏。只能多配些内存!

2、如果是低频或者文件很大

建议使用"临时文件模式"。即上传的数据流,先缓存为临时文件(落盘),再以本地文件流形式提供使用。这个非常省内存。比如,上传 1GB 的文件,服务内存几乎不会上升。

  • 添加配置

使用临时文件需要通过配置开启

yaml 复制代码
server.request.useTempfile: true #默认 false
  • 用后主动删除(建议,不管有没有用"临时文件模式"都主动删除)

使用完后,注意要删掉

java 复制代码
@Controller
public class DemoController{
    @Post
    @Mapping("/upload")
    public void upload(UploadedFile file) { 
        try{
            file.transferTo(new File("/demo/user/logo.jpg")); 
        } finally {
            file.delete();
        }
    }
}   
相关推荐
闲猫2 天前
go WEB框架
前端·golang·web·xcode
秦宇升3 天前
netcore 启用gzip压缩及缓存
web
dal118网工任子仪5 天前
135,【2】 buuctf web bestphp‘s revenge
安全·web
lally.6 天前
web信息泄露 ctfshow-web入门web1-web10
web·ctf·信息泄露
DarkLONGLOVE7 天前
表单文本框里写太多字就出 404 了?原因和解决办法都在这儿!
javascript·文件上传·文本框
带刺的坐椅7 天前
快速集成和使用 solon-flow 规则与流引擎(用 yaml 编写业务规则)
java·solon·drools·solon-flow
组合缺一9 天前
无耳科技 Solon v3.0.8 发布,Java 企业级应用开发框架
java·开发语言·后端·科技·solon·国产化
Golinie9 天前
【Gin】Web框架开发快速入门
golang·web·gin·后端开发
dal118网工任子仪10 天前
127,【3】 buuctf [NPUCTF2020]ReadlezPHP
安全·web
Maybe_ch11 天前
.NET Web-静态文件访问&&目录浏览
.net·web