Cliente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import java.io.* import java.net.HttpURLConnection import java.net.URL fun main() { val serverUrl = "http://192.168.1.55:6000/upload-image" // Reemplaza con la URL de tu servidor val imagePath = "subir.png" // Ruta de la imagen que deseas enviar val file = File(imagePath) val url = URL(serverUrl) val connection = url.openConnection() as HttpURLConnection connection.requestMethod = "POST" connection.doOutput = true connection.setRequestProperty("Content-Type", "image/jpeg") val outputStream = DataOutputStream(connection.outputStream) val fileInputStream = FileInputStream(file) val buffer = ByteArray(4096) var bytesRead: Int while (fileInputStream.read(buffer).also { bytesRead = it } != -1) { outputStream.write(buffer, 0, bytesRead) } outputStream.flush() outputStream.close() fileInputStream.close() val responseCode = connection.responseCode println("Response Code : $responseCode") } |

Servidor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import io.ktor.application.* import io.ktor.http.content.* import io.ktor.request.* import io.ktor.response.* import io.ktor.routing.* import io.ktor.server.engine.* import io.ktor.server.netty.* import java.io.File fun main() { val server = embeddedServer(Netty, port = 6000) { routing { post("/upload-image") { val fileBytes = call.receive<ByteArray>() val fileName = "image.png" // Nombre del archivo y extensión val file = File(fileName) file.writeBytes(fileBytes) call.respond("1") print("File '$fileName' uploaded successfully.") } } } server.start(wait = true) } |
