java实现文件上传用哪种方式比较好呢,如果上传的文件较大时?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现文件上传用哪种方式比较好呢,如果上传的文件较大时?相关的知识,希望对你有一定的参考价值。

用DiskFileItemFactory 方式吧,我手头一个小项目正在用,给你个开头:
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(uploadPath));
ServletFileUpload upload = new ServletFileUpload(factory);
参考技术A JAVA上传是技术,文件大小的传输速度是网速决定。
struts2 有上传文件的框架可以用这个,很方便具体细节网上有视频教程
参考技术B fileupload,现在基本上都用这个

java项目客户上传的图片放到哪好

图片放到项目里,上传的多了会不会影响系统的运行速度?放在电脑硬盘上 页面又不能直接用绝对路径获取图片

图片上传一般考虑两种办法:1、上传到服务器,数据库中存储服务器上图片的相对路径;2、转换为二进制流存入到数据库中。现在常用的做法都是选择第一种,因为第二种太占数据库空间,而且查找读取效率不高。很多开源的文件上传框架(比如spring中的commons-fileupload)都是采用第一种方式。上传图片到服务器不会影响系统的运行速度,你可以选择将图片的目录建立在非系统盘,存储容量比较大的盘,如F盘等。注意图片名字不要重复,建议用uuid 参考技术A 可以放到服务器的硬盘里,也可以拿出来一个机器给一个固定IP,专门当文件服务器。
路径按照模块来,比如 D:\upload\message D:\upload\note 后面跟着文件名称,不会出现拿不到这种情况,路径的前面固定的d:\ 可以写到配置文件中,也可以存DB里,怎么做都可以
参考技术B 图片上传一般会上传到你服务器那个项目里,到底上传到你服务器项目那个位置可以自己指定,数据库存
路径就行了,用的时候直接读
路径追问

上传的图片太多 不会对系统有影响吧?

追答

会,所以一般都是放服务器里

追问

放到服务器,重启服务器图片就没了

追答

把图片存在服务器上,如果图片是和数据相关联的,要把图片的名字保存在数据库。图片还是不要存数据库好,太大了也压力的;放哪里了就看你服务器那边环境是怎么样的,如果没有什么集群的就在应用里加个文件来保存即可,如果有集群的考虑一下用FTP来保存图片文件。一般数据库里面不存图片的, 存放的是图片的路径。数据库可以记录一些必要的信息,比如文件的名称,类型(扩展名),大小,创建时间及谁的文件等等;如果把文件放入数据库,读写性能不如文件系统,还会加大数据库的压力。放到服务器上注意要设计好一个文件结构,不然以后一个文件夹里有成千上万个文件,打开那个文件夹就要好久,更不用说查找和下载了。一般是没有问题的

本回答被提问者采纳
参考技术C 最好放在服务器的一个文件夹目录里,但要注意放在web-inf目录下,然后数据库表里对应保存文件存放路径就行了 参考技术D 一般都是放到服务器的某个指定路径下,取的时候直接到路径下去取。千万不要保存到数据库里,数据库里一般保存图片的路径就行了。而关于图片过多的情况,如果图片不再有用,可以调用方法进行删除,以节余空间

以上是关于java实现文件上传用哪种方式比较好呢,如果上传的文件较大时?的主要内容,如果未能解决你的问题,请参考以下文章

python和java哪个比较适合做自动化测试,和测试开发一般用哪种语言。

问问企业Java开发者,java语言的各种界面编程组件:swing、awt、swt、jsf、jface都用哪种比较多,如果有高

HTTP POST请求报文格式分析与Java实现文件上传

用于网络上传和图片预览的文件储存格式

修改input file 文件上传的样式

java如何区分上传的文件