postman 同时上传多个文件_postman上传文件

本文介绍如何使用Postman以form-data方式上传多个文件,并处理同时传入的文本信息。在后台,需要将HttpServletRequest转换为MultipartHttpServletRequest来读取文件内容,并通过参数获取JSON字符串转换为对象。示例代码展示了如何接收并处理上传的文件和文本数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

postman上传文件调接口,使用POST的form-data方式

文件数据在后台方法中的HttpServletRequest中。

①request中文件信息

②其实request中不仅有文件信息,还有其他文本信息也在里面,只不过需要通过key获取到该json字符串然后转成对象,这样可能会比较麻烦,需要前端Content-Type为form-data格式。

通过postman模拟

②-1 设置为text格式,将json串粘贴进去

②-2 使用文本的话,需要将request强转成MultipartHttpServletRequest再读文件里的信息

①上传文件.png

②后台使用map接收文本和文件,content-type为form-data.png

②request接收content里的内容,postman这样模拟。如果form-data上传的是文件,需要把request强转成MuiltPara..,再从里面读流.png

control类中方法

/**

* 导入

*/

@RequestMapping(value = "/leadingIn", method = RequestMethod.POST)

public ResponseObj leadingIn(InvestDetail investDetail,

HttpServletRequest request,

Map files) {

//测试

try {

MultipartHttpServletRequest mulRequest = (MultipartHttpServletRequest) request;

Set> set = mulRequest.getFileMap().entrySet();

Map listFile = new LinkedHashMap<>();

System.out.println("个数" + set.size());

for (Map.Entry each : set) {

String fileName = each.getKey();

MultipartFile file = each.getValue();

//这里需要上传FTP

try {

listFile.put(fileName, file.getInputStream());

} catch (Exception ex) {

return new ResponseObj<>(false, null);

}

}

String formjson = mulRequest.getParameter("content");

ObjectMapper mapper = new ObjectMapper();

mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);

mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

OrderReturn orderReturn = mapper.readValue(formjson, OrderReturn.class);

boolean result = iInstallWorkOrder.receiptOrder(orderReturn, listFile);

// boolean result = iInstallWorkOrder.upLoadFile(listFile);

// boolean result = true;

return new ResponseObj<>(result, null);

} catch (Exception ex) {

return new ResponseObj<>(false, null);

}

}

public ResponseObj saveOrSubmit(HttpServletRequest request) {

Business business = null;

try {

String json = request.getParameter("content");

if (!StringUtils.isEmpty(json)) {

ObjectMapper oMapper = new ObjectMapper();

oMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

business = oMapper.readValue(json, Business.class);

}

} catch (IOException e) {

e.printStackTrace();

}

}

### 实现 Postman 中 MultipartFile 数组以上传多个文件 为了在 Postman 中实现 `MultipartFile` 数组并上传多个文件,可以按照以下方法配置请求: #### 配置 POST 请求 创建一个新的 POST 请求,并设置 URL 和 HTTP 方法。确保服务器端已经准备好处理多部分表单数据。 #### 设置 Body 类型为 form-data 切换到 **Body** 标签页,选择 **form-data** 作为 body 的类型。这允许发送键值对形式的数据,其中某些字段可以是文件。 对于需要传递的文件列表,在 Key 列输入相同的名称(通常是 `"files"` 或者根据 API 文档指定的名字),并将 type 设定为 File。这样就可以多次添加相同 key 来表示一个文件数组[^1]。 ```plaintext Key | Value (Type) ----------|-------------- files | [Select first file to upload as a File] files | [Select second file to upload as a File] ... ``` 如果还需要提交其他非文件类型的参数,则继续在同一表格中增加新的行,但是这些额外的参数应保持其 value 类型为 Text 而不是 File。 #### Java 后端代码片段支持多文件上传 下面是一个简单的 Spring Boot 控制器例子用于接受来自客户端的多个文件以及可能存在的附加信息: ```java import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @RestController @RequestMapping("/upload") public class UploadController { @PostMapping("/multipleFiles") public String handleFileUpload( @RequestParam("files") List<MultipartFile> files, @ModelAttribute UserDO userDO) { try { for (MultipartFile file : files) { // Process each uploaded file here. System.out.println("Received file name: " + file.getOriginalFilename()); // Save or process the file according to your business logic } return "Successfully processed all files."; } catch (Exception e) { return "Failed to process some of the files due to error: " + e.getMessage(); } } } ``` 此控制器定义了一个名为 `/upload/multipleFiles` 的路径,它能够接收一组通过 `List<MultipartFile>` 表达的文件对象和一个自定义实体类 `UserDO` 对象来携带任何必要的元数据或者关联的信息[^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值