首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Restassured上传文件

使用Restassured上传文件
EN

Stack Overflow用户
提问于 2017-06-09 18:52:12
回答 2查看 2.5K关注 0票数 1

我想上传一个使用Java和RestAssured库的文件。有人知道如何使用此库将文件上载到字段吗?

当使用Postman时,我只是调用端点并在Body部分添加key=upload,value有一个"Choose files“按钮。

如何使用Restassured将文件上传到字段?我已经有了创建请求主体并为其设置所有参数的方法,如下所示:

代码语言:javascript
复制
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和uploads,你能告诉我如何吗?

EN

回答 2

Stack Overflow用户

发布于 2017-10-23 15:32:37

你可能在找multipart file uploads。例如:

代码语言:javascript
复制
given().
        multiPart("file", new File("/path/to/file")).
when().
        post("/upload"); 
票数 2
EN

Stack Overflow用户

发布于 2019-11-29 12:49:57

要使用REST API上传文件,需要将“Content-Type”设置为“multipart/form-data”。现在你需要了解开发人员是否允许直接将文件传递给API,或者需要将文件内容转换为Byte Array。

如果需要转换为字节,则可以使用以下代码

代码语言:javascript
复制
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在另一条评论中分享的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44455925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档