在这里差不多要结贴了,特此总结一下解决方式: 1、mmf,通过memory mapped file 内存映射文件将数据分段存储到mysql或者其他数据库中,不适合,略 2、服务器上ftp,然后通过代码来借助ftp实现 3、lz的解决方式:前端通过vue-upload来实现文件的分片上传功能,后端使用fastdfs自带的分片功能实现数据存储,具体demo可以查看lz个人下载里面的内容
后台将文件切割存储吧,fastdfs对大文件也不友好的。 或者前端分割上传吧。
上传大文件,java使用内存而不是磁盘做缓存,如果增加内存容易,(自己的服务器花不了多少多少钱,租用云服务器就可怕了),不妨就高内存跑着 解决方案是:客户端增加js组件 ,分块传送 。 看看你的贴子的推荐文章,都是大文件上传方案
楼主自己写代码来接收上传的大文件即可。 如果没有用框架的话,自己写一个Servlet来接收大文件即可。 外面没有可以使用的插件的原因是,web项目极少用来传输大文件,大文件一般都用FTP来传输了。 所以,没有现成的,那就自己写一个。个人觉得,不会太复杂。 1. 找到操作系统指定的临时文件夹,创建临时文件。(要确保临时文件夹有地方存放大文件,多个大文件,系统定期会清理这个文件夹,给硬盘瘦身) 2. 编写处理multipart类型的IO操作的服务端代码(Servlet, Action, Controller等),将发送的文件名,大小,和文件数据保存到临时文件中。 3. 传输完毕后,将临时文件移动到目标文件夹中。 4. 任何失败的情况下,删除临时文件,帮助系统进行瘦身。 另外,断点续传功能相对复杂一点点,不过,只要有耐心,就能搞定,因为技术难度不高,就是稍微复杂一点而已。
学习了,帮助很大
[quote=引用 6 楼 一米阳光zw 的回复:][quote=引用 2 楼 shuangmu9768 的回复:]后台将文件切割存储吧,fastdfs对大文件也不友好的。 或者前端分割上传吧。
[quote=引用 2 楼 shuangmu9768 的回复:]后台将文件切割存储吧,fastdfs对大文件也不友好的。 或者前端分割上传吧。
81,115
社区成员
341,731
社区内容
加载中
试试用AI创作助手写篇文章吧