如何使用Java Rest Assured API发送Binary类型的文件上传请求
Rest Assured 二进制类型文件上传实现方案
二进制上传不需要封装multipart/form-data表单结构,直接将文件二进制内容作为请求体发送即可,具体实现如下:
核心实现代码
import io.restassured.RestAssured; import io.restassured.http.ContentType; import java.io.File; public class BinaryUploadDemo { public void doUpload() { // 替换为你的本地文件路径 File targetFile = new File("/local/path/to/your/file"); RestAssured.given() // 指定Content-Type,通用二进制流用application/octet-stream,也可替换为对应文件的MIME类型如image/png、application/pdf .contentType(ContentType.BINARY) // 直接将文件作为请求体传入,也支持传入byte[]、InputStream类型参数 .body(targetFile) // 可按需添加其他请求头,比如鉴权头 .header("X-Auth-Token", "your_auth_token") .when() // 替换为你的上传接口地址 .post("https://your-api-domain/upload") .then() // 按需添加响应校验逻辑 .statusCode(200) .log().all(); } }
补充说明
- 如果业务接口要求自定义请求头(比如文件名称、文件大小标识等),直接在
given()后追加.header("自定义头key", "对应值")即可,和普通接口请求逻辑完全一致 - 大文件上传优先传入File对象或者InputStream,避免提前读取全部内容生成byte[],防止内存溢出
- 如果你需要手动设置Content-Type而不使用预设的ContentType.BINARY,可以直接写
.contentType("你需要的MIME类型字符串")
内容的提问来源于stack exchange,提问作者LDT
相关产品推荐
相关产品推荐

