javaweb完成文件上传和下载功能思路及关键代码
时间: 2024-02-25 22:53:56 浏览: 76
文件上传和下载是 Web 开发中常见的功能之一,下面是实现文件上传和下载的思路及关键代码:
文件上传:
1. 在表单中添加 file 类型的 input 标签,设置 name 属性。
```
<form action="fileUploadServlet" enctype="multipart/form-data" method="post">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
```
2. 在 Servlet 中获取上传的文件。
```
Part filePart = request.getPart("file");
String fileName = filePart.getSubmittedFileName();
InputStream fileContent = filePart.getInputStream();
```
3. 将文件保存到服务器本地。
```
OutputStream outputStream = new FileOutputStream(new File("/path/to/save/" + fileName));
IOUtils.copy(fileContent, outputStream);
outputStream.close();
```
文件下载:
1. 在 Servlet 中获取要下载的文件路径。
```
String filePath = "/path/to/file";
```
2. 设置响应头和响应体,将文件写入输出流。
```
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
InputStream inputStream = new FileInputStream(new File(filePath));
OutputStream outputStream = response.getOutputStream();
IOUtils.copy(inputStream, outputStream);
outputStream.close();
```
注意:上述代码中使用了 Apache Commons IO 库中的 IOUtils 类,可以自行下载添加到项目中使用。
以上就是文件上传和下载的基本思路及关键代码。
阅读全文