это может быть очень глупый вопрос, но я изо всех сил пытаюсь найти ответ.Мне нужно загрузить тестовые скриншоты в инструмент сравнения изображений с помощью пост-запроса, клиент для этого был написан на Ruby, и мне нужно создать свой собственный Java-клиент, в настоящее время зависший на 400 (неправильный запрос). К сожалению, у меня нет журналов с сервера, так какэто не выставлено, однако клиент ruby работает отлично.Подскажите, пожалуйста, как должно выглядеть тело запроса?(это мой первый опыт работы с multipart)
код Ruby
def submit_test(options = {})
source_url = options[:source_url] || ''
fuzz_level = options[:fuzz_level] || ''
highlight_colour = options[:highlight_colour] || ''
request = RestClient::Request.execute(
method: :post,
url: "#{@url_base}/tests",
timeout: 120,
multipart: true,
payload: {
test: {
run_id: @run_id,
name: options[:name],
browser: options[:browser],
size: options[:size],
screenshot: options[:screenshot],
source_url: source_url,
fuzz_level: fuzz_level,
highlight_colour: highlight_colour,
crop_area: options[:crop_area]
}
}
)
мой код Java
@Test
public void spectre() throws MalformedURLException, JSONException, IOException {
BufferedImage image = ImageIO.read(new File("C:\\Users\\user\\Desktop\\testfile.JPG"));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(image, "png", outputStream);
final byte[] bytes = outputStream.toByteArray();
JSONObject test = new JSONObject();
given()
.multipart("run_id", 1)
.multipart("name", "Landing Page")
.multipart("browser", "firefox")
.multipart("size", 1024)
.multiPart("screenshot", "file1.png", bytes)
.post("http://10.0.33.179:3333/tests");
System.out.println(then().extract().statusCode());
}