java - 无法更改Tomcat的默认文件上传目录
问题描述
我正在为文件上传创建一个示例网页。我正在指定我自己的路径。但是,它总是将文件上传到我的工作区(eclipse 工作区)的 .metadata 文件夹中。这是代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
Iterator iterator = items.iterator();
while (iterator.hasNext()) {
FileItem item = (FileItem) iterator.next();
if (!item.isFormField()) {
String fileName = item.getName();
String root = getServletContext().getRealPath("/cloudnine/photobucket");
File path = new File(root);
if (!path.exists()) {
boolean status = path.mkdirs();
}
File uploadedFile = new File(path + "/" + fileName);
System.out.println(uploadedFile.getAbsolutePath());
item.write(uploadedFile);
}
}
}
}
保存它的文件是:tanmayaworkspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/cloudnine/cloudnine/photobucket/ESA.pdf
但是我希望它是:tanmayaworkspace/cloudnine/photobucket/ESA.pdf
解决方案
推荐阅读
- c# - 无法将 lambda 表达式转换为类型对象,因为它不是委托类型
- javascript - 从类的特定元素获取属性
- jenkins - 想要删除 Jenkins 作业
- typescript - IONIC上的路线
- rabbitmq - 使用spring-amqp库异步发送消息时如何使用rabbit mq处理网络超时异常
- r - R定义没有观察的水平
- java - 在android中将字符串布局作为表格
- ruby-on-rails - 在 Rails 中将数据库更改为 utf8
- javascript - javascript:获取 number.epsilon 而不是 0
- maven - 如何将 Nexus 凭据传递到 Azure DevOps 服务器