如何用java放心上传文件

我们有一个 API,它从系统中获取一个文件并在应用程序上显示,为此我正在尝试用放心和 Java 实现自动化


我尝试过,将图像更改为二进制代码,然后将其添加为不起作用的参数。


Map<String, String> paramSample = new HashMap<>();

    paramSample.put("api_key", "A813302*************");

    paramSample.put("method", "my");

    paramSample.put("body", "{\n" +

            "  \"to\":\"91xxxxxxxx\",\n" +

            " \"type\": \"image\", \"image\" : {\"caption\" : \"{{caption}}\"},\n" +

            "\"callback\":\"{{callback}}\"\n" +

            "}");

    paramSample.put("from", "91xxxxxxx");

    paramSample.put("file","C:\\Users\\sobhit.s\\Pictures\\SMS-2047.png");

    RequestSpecification request = given();

    Response responseSample = request.params(paramSample).get(ExecutionConfig.BASE_URL).then().extract().response();

    String res=responseSample.prettyPrint();

回应是——


{

    "status": "xxxx",

    "message": "Invalid file format. Upload valid file."

}


慕莱坞森
浏览 157回答 1
1回答

郎朗坤

首先,如果您不确定,请在 Postman 中执行此操作,然后在代码中重新创建相同的内容。这样,您将有一个邮递员来演示您的编码问题。仅用于.queryParam()参数而不用于正文内容。正文内容应低于.body()用于.multiPart()将文件作为多部分任务上传。希望这可以帮助。given().queryParam(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "api_key", "A813302*************",&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "method", "my",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "from", "91xxxxxxx")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .body("{\n" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "&nbsp; \"to\":\"91xxxxxxxx\",\n" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; " \"type\": \"image\", \"image\" : {\"caption\" : \"{{caption}}\"},\n" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "\"callback\":\"{{callback}}\"\n" +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "}")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .multiPart(new File("C:/Users/sobhit.s/Pictures/SMS-2047.png"))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .when()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .get(ExecutionConfig.BASE_URL)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .prettyPrint();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java