#kotlin #okhttp
Вопрос:
я очень новичок в kotlin, сейчас пытаюсь загрузить изображение на сервер по okhttp.
fun assignUserAvatar(file : File){
val sharedPreferences: SharedPreferences = this.getSharedPreferences(sharedPrefFile,Context.MODE_PRIVATE)
val tempToken = sharedPreferences.getString("TOKEN","defaultName")
println(file.toURI())
return if(tempToken != ""){
val url = "someURL"
val body = MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("ImgUser", file.name,RequestBody.create(MediaType.parse("multipart/form-data"), file))
.build()
val request = Request.Builder()
.url(url)
.header("Content-Type", "application/json; charset=utf-8")
.addHeader("Authorization", "Bearer $tempToken")
.post(body)
.build()
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
println("Z1")
println(e.message)
}
override fun onResponse(call: Call, response: Response) {
val tempReturn = response.body()?.string().toString()
if(JSONObject(tempReturn).isNull("errors")){
dtDeviceToken.success = JSONObject(tempReturn).getString("success")
dtDeviceToken.code = JSONObject(tempReturn).getString("code")
dtDeviceToken.message = JSONObject(tempReturn).getString("message")
}else{
println("Z3")
}
}
})
}
}
файл.Тури показывает «файл:/документ/изображение:108»
но когда я запускаю эмулятор, я получаю ответ «/document/image:108: открыть не удалось: ENOENT (такого файла или каталога нет)».
есть ли в этом какой-нибудь недостающий шаг?
спасибо за помощь.