jfinal如何实现文件上传到非工程目录下并可以访问

发布于 2021-12-05 13:49:06 字数 144 浏览 832 评论 12

jfinal图片上传到工程之外的文件夹后,怎么在浏览器访问该图片?就像springboot的static-locations那样可以配置静态资源目录?数据库里保存图片的相对路径,浏览器中只要访问该路径即可展现对应的图片?

主要是考虑到静态文件与应用的分离部署

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

笑红尘 2021-12-08 23:45:24

嗯嗯,这是备选方案了

臻嫒无言 2021-12-08 23:44:39

还有一种办法,就是使用nginx

平定天下 2021-12-08 23:43:40

在config里配置一下上传的路径,之后在你的controller里去对应路径读图片就行的

毁梦 2021-12-08 23:41:32

你的意思是在handler里对请求的key进行判断,如果是图片就用流写给浏览器?我想过,我试试吧

偏爱自由 2021-12-08 23:39:57

也可以暴力一点,不去查数据库的文件是否存在。不过这有点危险存在,自己要处理好文件名不能包含/或等特殊字符,他们会导致安全问题。

孤檠 2021-12-08 23:37:14

springboot 你都会了?

复古式 2021-12-08 23:35:07

我说的是,在浏览器中打开上传到非工程目录下的图片

北笙凉宸 2021-12-08 23:12:47

详见:Java访问硬盘,文件操作 貌似跟Jfinal没关系

等风来 2021-12-08 22:44:28

现在图片已经传到工程之外的目录下,路径是C:you_tieuploadbackendsite20180325163210538000.png,baseUploadPath是C:/you_tie/upload/,浏览器访问http://localhost:8080/backend/site/20180325163210538000.png,还是报404错误。

画骨成沙 2021-12-08 22:20:55

回复
@陈俊凯 : 为 png、jpg 这些资源提供访问的是 tomcat、jetty、nginx 之类的服务,建议配置一下 nginx 指向相关的路径。或者在 jfinal 中添加一个 handler 来处理一下

南冥有猫 2021-12-08 08:07:45

回复
@JFinal : 嗯嗯,好的,明白了

风透绣罗衣 2021-12-06 00:44:10

在 configConstant 方法中通过 constants.setBaseUploadPath(...) 即可实现,如果希望上传到项目之外的目录,用一下绝对路径就可以: 

1:linxu 系统示例 constants.setBaseUploadPath("/var/pic");

2:windows 系统示例 constants.setBaseUploadPath("d:/data/pic");

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文