[kotlin] [multiplatform] [jvm-ktor] Fix formdata file upload (#21056)

* fix: kotlin multiplatform form-data file upload

* generate samples

* fix form data binary for jvm-ktor
This commit is contained in:
Julian Kalinowski
2025-04-25 10:30:25 +02:00
committed by GitHub
parent be77442bff
commit f9dedd74ec
14 changed files with 30 additions and 26 deletions

View File

@@ -372,7 +372,7 @@ uploads an image
val apiInstance = PetApi()
val petId : kotlin.Long = 789 // kotlin.Long | ID of pet to update
val additionalMetadata : kotlin.String = additionalMetadata_example // kotlin.String | Additional data to pass to server
val file : io.ktor.client.request.forms.InputProvider = BINARY_DATA_HERE // io.ktor.client.request.forms.InputProvider | file to upload
val file : io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider> = BINARY_DATA_HERE // io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider> | file to upload
try {
val result : ModelApiResponse = apiInstance.uploadFile(petId, additionalMetadata, file)
println(result)
@@ -390,7 +390,7 @@ try {
| **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **file** | **io.ktor.client.request.forms.InputProvider**| file to upload | [optional] |
| **file** | **io.ktor.client.request.forms.FormPart&lt;io.ktor.client.request.forms.InputProvider&gt;**| file to upload | [optional] |
### Return type

View File

@@ -287,14 +287,14 @@ import io.ktor.http.ParametersBuilder
* @return ModelApiResponse
*/
@Suppress("UNCHECKED_CAST")
open suspend fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: io.ktor.client.request.forms.InputProvider?): HttpResponse<ModelApiResponse> {
open suspend fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: io.ktor.client.request.forms.FormPart<io.ktor.client.request.forms.InputProvider>?): HttpResponse<ModelApiResponse> {
val localVariableAuthNames = listOf<String>("petstore_auth")
val localVariableBody =
formData {
additionalMetadata?.apply { append("additionalMetadata", additionalMetadata) }
file?.apply { append("file", file) }
file?.apply { append(file) }
}
val localVariableQuery = mutableMapOf<String, List<String>>()