Tabla de contenido
prefacio
En el proyecto de desarrollo, se requiere la función de carga de un solo archivo y varios archivos. La ApiResponse que se muestra a continuación es el valor de retorno del autoempaquetado, que debe completarse de acuerdo con su propio proyecto. El framework mvvm utilizado, kotlin coroutine.
Mire la idea general y la forma de pasar parámetros, solo como referencia
1. Carga de un solo archivo
1. En apiService
@Multipart
@POST("xxxx/xxx")
suspend fun upload(
@Part part: MultipartBody.Part,
@Query("code") code: String
): ApiResponse<String>
2. código de actividad
val file = File(it)
val requestBody: RequestBody = RequestBody.create(MediaType.parse("image/*"), file)
val part = MultipartBody.Part.createFormData("file", file.getName(), requestBody)
mViewModel.upload(part)
2. Sube varios archivos
@POST("xxx/xxxxs")
suspend fun uploads(
@Body part: MultipartBody,
@Query("code") code: String
): ApiResponse<String>
2. código de actividad
val builder = MultipartBody.Builder()
builder.setType(MultipartBody.FORM)
getDataList()?.filter { !it.filePath.isNullOrEmpty() }.forEach {
val file = File(it.filePath)
builder.addFormDataPart(
"files",
file.getName(),
RequestBody.create(MediaType.parse("image/jpg"), file)
)
}
mViewModel.uploads(builder.build())
Resumir
Para registrar y resumir, es necesario llevar a cabo la transformación de referencia de acuerdo con su propio marco.