用JSP实现一个文件上传的表单,选择文件上传,提交表单之后,服务端程序将上传的文件保存在:WEBAPPS\WEB服务目录\DATA 目录中。
时间: 2024-10-21 14:18:01 浏览: 26
在JSP中实现文件上传,首先需要创建一个HTML表单,让用户可以选择文件。以下是基本步骤:
1. 创建`<form>`标签:
```jsp
<form action="upload.jsp" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload File">
</form>
```
这里`enctype="multipart/form-data"`用于处理文件上传。
2. 创建服务器端处理文件上传的JSP页面(如upload.jsp):
```jsp
<%@ page import="java.io.*, javax.servlet.*"%>
<%
File dir = new File("WEB-INF/WebContent/WEB-INF/WEB-INF/data"); // 数据存储目录
if (!dir.exists()) {
dir.mkdirs();
}
String targetPath = dir.getAbsolutePath() + "/" + request.getParameter("fileToUpload").getName(); // 获取上传文件名
File file = new File(targetPath);
try {
if (file.exists()) { // 检查文件是否已存在
out.println("文件已存在!");
} else {
request.getFileItemStream("fileToUpload").transferTo(file); // 从请求流复制文件到目标路径
out.println("文件上传成功,位于: " + targetPath);
}
} catch (Exception e) {
out.println("文件上传失败: " + e.getMessage());
}
%>
```
在这里,我们获取了用户选择的文件,然后将其保存到指定的`DATA`目录下。如果文件已经存在,会给出提示。请注意,你需要确保服务器有权限写入该目录。
阅读全文