关于上传文件写入磁盘

来源:3-5 商品管理上架

Wonwayshon

2021-02-03 10:04:43

以前使用fileupload上传文件的时候我记得是用了输出流然后用byte数组写入,这个项目不用这样做吗?这两种写入方式有什么区别呢?

写回答

2回答

好帮手慕阿园

2021-02-03

同学你好,很抱歉上面老师的回答有些问题,已经修改

当项目发布后,所有的内容都发布到target目录下,图片上传是上传到发布后的项目中,所以图片会出现在target文件下,而不是webapp目录下;如果是都保存在发布后的路径下重启服务器是会都消失的

而在该项目中,是将上传的图片写入rootPath+path路径下,然后将图片的相对路径保存在cake对象中,保存在了数据库中,所以在该项目中显示的时候使用这样的方式

祝学习愉快~

1

好帮手慕阿园

2021-02-03

同学你好,之前是用的 fileupload上传文件使用fileOutputStream文件输出流将文件写入磁盘。而在该项目中使用的是FileItem的write方法

FileItem的write方法底层使用的也是FileOutputStream来上传文件的,FileItem类write方法可以将FileItem对象中的内容保存到某个指定的文件中。该方法也可以将普通表单字段保存在一个文件中,但最主要的用途是把上传的文件内容保存在本地文件系统中

所以这也是一种上传文件的方法

祝学习愉快~

0
honwayshon
hp dir="ltr">用文件输出流无法展示图片意思是不能用项目路径展示吗?但是能用绝对路径展示?如果两种方式文件都写入在webapps的子目录中那么关闭服务器应该都消失呀,能麻烦老师详细描述一下图片展示部分的具体区别吗

h021-02-03
共1条回复

0 学习 · 8016 问题

查看课程