我想使用Java和RestAssured库上传文件。有谁知道如何使用这个库将文件上传到字段?
当使用Postman时,我只是调用端点并添加Body部分key = upload和value有一个"选择文件"按钮。
如何使用Restassured将文件上传到字段?我已经有了生成请求主体的方法,并为它设置了所有参数,如下所示:
public CustomizationSetClientField(String clientId, String fieldSetName, String version, String fieldName, String name, String type, String value, String language, String role){
this.body.put("name", name);
this.body.put("type", type);
this.body.put("value", value);
this.url = Config.getByName("customization_url");
this.pathTemplate = Config.getByName("customization_set_client_field");
this.path = Utils.createPath(pathTemplate, clientId, fieldSetName, version, fieldName);
this.role = role;
}
现在这是设置字段,但我不知道如何使用Restassured上传,你能告诉我怎么样?
答案 0 :(得分:1)
你可能正在寻找multipart file uploads。例如:
given().
multiPart("file", new File("/path/to/file")).
when().
post("/upload");
答案 1 :(得分:0)
要使用REST API上传文件,它需要将“ Content-Type”作为“ multipart / form-data”。 现在,您需要与开发人员一起了解它们是允许直接将文件传递给API还是需要将文件内容转换为字节数组。
如果需要转换为字节,则可以使用以下代码
Map<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "multipart/form-data");
byte[] fileContent = FileUtils.readFileToByteArray(new File(filePath));
RestAssured.given().headers(headers).body(fileContent ).post(url);
否则,您可以直接在另一个注释中尝试使用Johan共享的代码。