Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.2K
Visualizações
¿Cómo publicar datos de varias partes/formatos usando Fuel para Kotlin?

Necesito enviar una solicitud POST a un servidor. Se supone que debo pasar algunos parámetros y una imagen. Puedo hacer esto desde Postman, pero no puedo hacerlo en mi aplicación de Android (SDK más reciente) usando Fuel.

Este es el código que estoy usando:

 val formData = listOf("name" to "name") val (_, _, result) = Fuel.upload("http://10.0.2.2:3000/test", parameters = formData) .source { request, url -> imageFile } // type is File .responseObject<CustomResponse>()

Esta es la captura de pantalla del cartero: ingrese la descripción de la imagen aquí

No tengo acceso al código de back-end, solo algunos registros. Parece que el cuerpo de la solicitud está vacío y el archivo tampoco se carga. ¿Cómo puedo hacer esto? Estoy perdido.

También intenté pasar los parámetros como jsonBody, esto envía el cuerpo, pero el tipo de contenido no es multipart/form-data y aún falta la imagen.

Este código JS funciona :

 let formData = new FormData(); formData.append('name', 'name'); formData.append('image', this.file); axios.post(`${API_URL}/test`, formData, { headers: { 'Content-Type': 'multipart/form-data' } }).then(console.log).catch(console.log)

Editar: también intenté pasar el archivo como DataPart, todavía nada.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Después de un poco de lucha, descubrí lo que funcionaría:

 val file = FileDataPart.from("path_to_your_file", name = "image") val (_, _, result) = Fuel.upload("http://10.0.2.2:3000/test") .add(file) .responseObject<CustomResponse>()

No necesitaba la parte de nombre-nombre en mi caso, pero intentaría agregar InlineDataPart

over 4 years ago · Santiago Trujillo Relatório

0

Después de algunos intentos finalmente encontré la solución. Prueba esto, creo que te ayudará.

 val params = listOf("email" to "test@email.com", "pass" to "123456") Fuel.upload("http://your-api-url.com/login", Method.POST, params) .responseString { _, _, result -> when (result) { is Result.Failure -> { print(result.getException().toString()) } is Result.Success -> { val data = result.get() print(data) } } }
over 4 years ago · Santiago Trujillo Relatório

0

Logré enviar una solicitud POST a un servidor. Pasé un parámetro y una imagen.

 //Prepare POST body val postBody = listOf("name" to "name") //Call the API. val (_, _, result) = Fuel.upload("http://10.0.2.2:3000/test", Method.POST , postBody) .add(BlobDataPart(myInputStream, name = "image", filename = "default.jpg", contentType = "image/jpeg")) .responseString() //If failed, then print exception. If successful, then print result. when (result) { is Result.Failure -> { println(result.getException()) } is Result.Success -> { println(result.get()) } }

Puede leer la documentación relacionada aquí .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda