You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:15:24