Javaweb新闻管理页面如何实现文件上传
时间: 2023-06-29 16:19:14 浏览: 90
Javaweb新闻管理页面实现文件上传,可以使用Java Servlet提供的Part接口来实现。具体步骤如下:
1. 在jsp页面中添加文件上传表单,例如:
```html
<form action="news_upload" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="submit" value="上传"/>
</form>
```
2. 在Servlet中获取上传的文件,例如:
```java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Part filePart = request.getPart("file"); // 获取上传的文件
String fileName = filePart.getSubmittedFileName(); // 获取文件名
InputStream fileContent = filePart.getInputStream(); // 获取文件内容
// 对文件进行处理,例如保存到本地或上传到服务器等
}
```
其中,getPart方法用于获取上传的文件,参数为文件表单的name属性值;getSubmittedFileName方法用于获取文件名;getInputStream方法用于获取文件内容。
3. 对获取的文件进行处理,例如保存到本地或上传到服务器等。
```java
File file = new File("D:\\" + fileName); // 指定文件保存路径
OutputStream out = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int len;
while ((len = fileContent.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.close();
```
以上代码将上传的文件保存到本地的D盘根目录下。
完整的Servlet代码示例:
```java
@WebServlet("/news_upload")
@MultipartConfig
public class NewsUploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Part filePart = request.getPart("file"); // 获取上传的文件
String fileName = filePart.getSubmittedFileName(); // 获取文件名
InputStream fileContent = filePart.getInputStream(); // 获取文件内容
File file = new File("D:\\" + fileName); // 指定文件保存路径
OutputStream out = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int len;
while ((len = fileContent.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.close();
response.getWriter().println("文件上传成功");
}
}
```
注意,为了使用Part接口,需要在Servlet类上添加@MultipartConfig注解。
阅读全文