Который загружает файл на основе примера завиткаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Который загружает файл на основе примера завитка

Сообщение Anonymous »

У меня есть следующий пример, который хорошо работает с использованием Curl:

Код: Выделить всё

curl -X 'POST' \
'https://example.com/rest/someservice?oauth_token=' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@docs_recognize_ok.jpg;type=image/jpeg' \
-F 'meta={
"images": [
{
"name": "file"
}
]
}'
Не могу понять, как с этим справиться с помощью клиента ktor на Java/Kotlin?
На данный момент я пытаюсь справиться с этим как :

Код: Выделить всё

        val json = "{\n" +
"  \"images\": [\n" +
"    {\n" +
"      \"name\": \"file\"\n" +
"    }\n" +
"  ]\n" +
"}"
val filesList = mutableListOf
()
val partData = formData {
append(key = "meta", value = json, headers = Headers.build {
append(HttpHeaders.ContentType, "application/json; charset=utf-8")
})
request.images.forEach { file ->
append(
"file",
InputProvider { File(file.imageFileName).inputStream().asInput() },
Headers.build {
append(HttpHeaders.ContentType, "image/jpeg")
}
)
}
}
filesList.addAll(partData)
httpClient.post("rest/someservice") {
setBody(MultiPartFormDataContent(parts = filesList))
parameters {
append("oauth_token", apiKey)
}
}
Есть идеи?


Подробнее здесь: https://stackoverflow.com/questions/786 ... rl-example
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»