jsp上传文件服务器路径,使用Java和JSP将文件上传到服务器上的目录 – 无法获得正确的路径...

在我的vps上,我想将文件上传到Logos目录.

我的vps上的目录结构如下 –

/home/webadmin/domain.com/html/Logos

当通过我的jsp页面上传文件时,该文件被重命名,然后我想将它放入Logos目录….但我似乎无法在我的servlet代码中获得正确的路径.

servlet代码片段 –

String upload_directory="/Logos/"; // path to the upload folder

File savedFile = new File(upload_directory,BusinessName+"_Logo."+fileExtension);

//.....

//file saved to directory

//.....

我尝试了很多变化,但仍然失败了.指定路径的正确方法是什么?

编辑

使用getServletContext()的问题是它返回Tomcat和我的webapp所在目录的路径…而我想要到达我的html和图像文件所在的目录 – 在vps的根目录下.如何指定该路径?

String server_path = getServletContext().getRealPath("/"); // get server path.

//server_path = /opt/tomcat6/webapps/domain.com/

String upload_directory = "Logos/"; // get path to the upload folder.

String complete_path = server_path + upload_directory; // get the complete path to the upload folder.

//complete_path = /opt/tomcat6/webapps/domain.com/Logos/

File savedFile = new File(complete_path,"NewLogo.jpg");

//savedFile = /opt/tomcat6/webapps/domain.com/Logos/NewLogo.jpg

解决方法:

通常的做法是使存储路径可配置 – 通过某个application.properties文件,或者如果您没有这样的属性文件 – 作为web.xml中的context-param.在那里,您将路径配置为绝对路径,如:

configuredUploadDir=/home/webadmin/domain.com/html/Logos

在代码中获取该值(取决于您存储它的方式),并具有:

File uploadDir = new File(configuredUploadDir);

注意:确保您具有读取和写入目标目录的权限.

标签:java,jsp,servlets

来源: https://codeday.me/bug/20190827/1737725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值