Tha*_*ham 0 java web-applications
我正在写一个上传和下载功能,我尝试用这两种方法写入或读取同一个文件夹,我遇到了一些问题getResourceAsStream.(该软件在glassfish上运行)
上传:方法上传到这个文件夹:/home/phamtn8/glassfishv3/glassfish/domains/domain1/applications/Documents/Documents-war_war/drawings/Liandro.jpg- >工作很棒
下载:stream =the above path
input = this.getClass().getResourceAsStream(stream); //返回null
包含这些上载和下载方法的类文件的位置位于:
/home/phamtn8/glassfishv3/glassfish/domains/domain1/applications/Documents/Documents-war_war/WEB-INF/classes/org/xdrawing/web.如果我把jpg文件放在这里,getResourceAsStream工作.
注意:this.getClass.getName()退货org.xdrawing.web.FileName
请帮忙 !!!
getResourceAsStream(..)处理来自类路径根的路径.而你的似乎是机器的根源.所以请new FileInpuStream(fullPath)改用.
事实上,还有另一种getResourceAsStream方法属于ServletContext.它处理来自Web应用程序根目录的路径,更适合Web应用程序.(您的网络应用根目录是Documents-war_war/)
但文件上传和下载的最佳做法是将它们存储在与Web应用程序完全不同的位置 - 例如/home/appname/uploads,这样您就可以部署和取消部署Web应用程序而不会丢失任何数据.你只需要一个配置选项(一个<context-param>在web.xml指向上传的绝对位置为例),以及使用FileInputStream的方法(或OutputStream分别)
| 归档时间: |
|
| 查看次数: |
1647 次 |
| 最近记录: |