java 文件上传功能
时间: 2023-08-28 17:06:48 浏览: 101
Java 文件上传功能是通过 HTTP 协议实现的。以下是一个简单的文件上传实现:
1. 在前端页面中,使用 input 标签的 type="file" 属性,可以让用户选择本地文件。
2. 在后端 Java 代码中,使用 HttpServletRequest 和 HttpServletResponse 对象获取上传的文件信息。
3. 使用 Apache Commons FileUpload 库解析上传的文件,创建 FileItem 对象。
4. 将 FileItem 对象存储到服务器本地磁盘中。
下面是一个简单的 Java 文件上传代码示例:
```java
import java.io.File;
import java.util.List;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FileUploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
try {
// 创建文件上传处理工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
// 创建文件上传处理器
ServletFileUpload upload = new ServletFileUpload(factory);
// 解析上传文件
List<FileItem> items = upload.parseRequest(request);
// 遍历上传文件列表
for (FileItem item : items) {
// 判断是否为上传文件
if (!item.isFormField()) {
// 获取上传文件名
String fileName = item.getName();
// 创建上传文件
File uploadedFile = new File("/path/to/upload/directory/" + fileName);
// 保存上传文件到本地磁盘
item.write(uploadedFile);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
需要注意的是,上述代码中的 /path/to/upload/directory/ 应该替换为实际的上传目录。此外,为了保证上传的文件不会覆盖已有的文件,可以在上传文件名中添加时间戳等后缀。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)