首页
学习
活动
专区
圈层
工具
发布

JSP
EN

Stack Overflow用户
提问于 2012-03-11 08:13:01
回答 1查看 852关注 0票数 0

我想在jsp中上传一个图像文件。我的IDE是eclipse。不幸的是,该文件正在上载到Eclipse.exe所在的路径。我想上传它在我的项目文件夹的工作区。默认情况下如何更改fileUpload路径。请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2012-03-11 22:39:55

您不应该在File中使用相对路径

代码语言:javascript
复制
File file = new File("filename.ext");

你永远不知道它会在哪里结束。更重要的是,无论最终结果是什么,都可能根本无法写,或者当webapp应用程序重新部署或服务器重新启动时,它可能被完全擦除。你无法从网络应用程序中控制这一点。

您应该使用驻留在项目文件夹和部署文件夹之外的绝对路径,服务器管理员必须创建该文件夹:

代码语言:javascript
复制
File file = new File("/path/to/all/uploads", "filename.ext");

在运行服务器在C:\磁盘上的Windows上,它将以C:\path\to\all\uploads结束。您只需要确保这个文件夹已经准备好了。

您还应该设计您的webapp,使这个绝对路径是可外部配置的,这样您就不需要在每次路径更改时都硬编码路径并重新编译代码。例如,作为VM参数或环境变量。

代码语言:javascript
复制
-Dupload.location=/path/to/all/uploads

然后,您可以按以下方式检索此文件夹:

代码语言:javascript
复制
String uploadLocation = System.getProperty("upload.location");
// ...
File file = new File(uploadLocation, "filename.ext");

另请参阅:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9653450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档