后端(java)获取multipart/form-data传的文件及参数
时间: 2023-08-09 16:11:30 浏览: 326
在Java后端中,可以使用Servlet的API来获取multipart/form-data传递的文件和参数。具体步骤如下:
1. 在Servlet中,通过request对象获取上传文件的流和表单参数:
```java
Part filePart = request.getPart("file"); //获取上传的文件流
String fileName = getFileName(filePart); //获取上传的文件名
String paramValue = request.getParameter("param"); //获取表单参数
```
2. 通过流将文件保存到服务器本地:
```java
InputStream fileContent = filePart.getInputStream();
FileOutputStream outputStream = new FileOutputStream(new File("file_path" + fileName));
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = fileContent.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
```
其中,getFileName方法可以自己实现,示例代码如下:
```java
private String getFileName(final Part part) {
final String partHeader = part.getHeader("content-disposition");
for (String content : partHeader.split(";")) {
if (content.trim().startsWith("filename")) {
return content.substring(content.indexOf('=') + 1).trim()
.replace("\"", "");
}
}
return null;
}
```
以上代码仅供参考,具体的实现可以根据自己的需求进行调整。
阅读全文