关于上传文件写入磁盘

关于上传文件写入磁盘

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

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

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

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

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

祝学习愉快~

好帮手慕阿园 2021-02-03 11:22:45

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

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

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

祝学习愉快~

  • 提问者 Wonwayshon #1

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

    2021-02-03 11:47:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师