如何通过Postman将Excel文件上传至Java HTTP Trigger Function
在Java HTTP Trigger Function中获取form-data里的Excel文件
1. 调整函数参数与核心逻辑
原代码里的HttpRequestMessage<Optional<String>>没法直接处理multipart/form-data请求,改成用HttpServletRequest接收请求,能方便解析表单文件。修改后的代码如下:
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import java.io.InputStream; import org.springframework.http.HttpStatus; public class HttpTriggerFunction { @FunctionName("creategroup") public HttpResponseMessage run( @HttpTrigger( name = "req", methods = {HttpMethod.POST}, // GET请求不支持form-data,只保留POST authLevel = AuthorizationLevel.ANONYMOUS) HttpServletRequest request, final ExecutionContext context) throws IOException { context.getLogger().info("Java HTTP trigger 处理form-data请求"); // 判断是否为multipart类型请求 if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // 对应Postman里设置的文件Key,截图里是"file" MultipartFile excelFile = multipartRequest.getFile("file"); if (excelFile != null) { String fileName = excelFile.getOriginalFilename(); context.getLogger().info("收到文件:" + fileName); // 获取文件输入流,后续可用于Excel解析(比如用POI库) InputStream inputStream = excelFile.getInputStream(); // 这里可以加Excel处理逻辑,比如读取单元格内容 // ... return request.createResponseBuilder(HttpStatus.OK) .body("文件接收成功:" + fileName) .build(); } else { return request.createResponseBuilder(HttpStatus.BAD_REQUEST) .body("未获取到名为'file'的文件") .build(); } } else { return request.createResponseBuilder(HttpStatus.UNSUPPORTED_MEDIA_TYPE) .body("请求类型不是multipart/form-data") .build(); } } }
2. 添加必要依赖
在项目的pom.xml里加入处理multipart和Excel解析的依赖:
<!-- 处理multipart请求依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.3.24</version> <scope>provided</scope> </dependency> <!-- Apache POI用于解析Excel文件 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.3</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.3</version> </dependency>
3. Postman请求配置要点
- 请求方法选
POST - 请求体类型选
form-data - 文件对应的Key要和代码里的
"file"保持一致(你截图里的Key已经是file,不用改) - 类型选
File,然后选择要上传的Excel文件
内容的提问来源于stack exchange,提问作者Geeth
相关产品推荐
相关产品推荐

