Android Модификация добавить тег через перехватчик - PullRequest
0 голосов
/ 10 марта 2020

В настоящее время я загружаю несколько изображений, используя модификацию, и хотел бы иметь возможность добавить тег через Interceptor, чтобы я мог получить указанный c запрос на загрузку и отменить его при необходимости.

Вот мой основной метод, который инициирует запрос на загрузку:

private suspend fun uploadFileCallback(index: Int) {
        val requestParentId =
            RequestBody.create(MediaType.parse("text/plain"), parentWebIds[index])
        val body = MultipartBody.Part.createFormData("file", files[index].name, fileBody)
        val call = apiClient.uploadCallBack(token, requestParentId, body)

        try {
            call.enqueue(object : Callback<UploadResponse> {
                override fun onResponse(
                    call: Call<UploadResponse?>?, response:Response<UploadResponse?>
                ) {
                    if (response.isSuccessful) {
                        postListener?.onSuccess(response.message())
                    } else {
                        postListener?.onFailure(response.message())
                    }
                }
                override fun onFailure(call: Call<UploadResponse?>?, t: Throwable?) {}
            })
        } catch (e: NoInternetException) {
            e.printStackTrace()
        } catch (e: Exception) {
            e.printStackTrace()
        }
}

, а вот запрос на обслуживание:

@Multipart
@POST("/upload_photo")
suspend fun uploadImageResponse(
    @Header("Authorization") token: String,
    @Part("id") parentId: RequestBody,
    @Part file: MultipartBody.Part
): Response<UploadResponse>

companion object {
    operator fun invoke(connectivityInterceptor: ConnectivityInterceptor
    ): PostUploadService {
        val okHttpClient = OkHttpClient.Builder()
                .addInterceptor(connectivityInterceptor)
                .build()
        return Retrofit.Builder()
                .client(okHttpClient)
                .baseUrl(URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build()
                .create(PostUploadService::class.java)
    }
}

Каков наилучший способ продолжить и добавить тег?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...