[英]How to send an audio file via POST (volley) in Kotlin Android
我需要使用 Android 的 Kotlin 语言通过 POST 请求(我使用的是 Volley)发送文件类型“音频”(mp3)。 基本上我保存了一个文件,一切都很好(我保存了它,我也可以收听它并且效果很好),现在我需要将它作为 ByteArray 发送到我的服务器(例如“serverX.com”),但我总是得到“错误 502”。
我也读过其他帖子,但我没有解决任何问题。 我使用(并想使用)Volley 来处理这个请求。 我已经尝试过这种方式,所以使用“Files.readAllBytes...”但它不起作用。
var encoded: ByteArray = Files.readAllBytes(Paths.get(this.output!!)) //file path is in "output" variable
var url_temp = "https://server-example.com/"
try {
val path = "sends"
val params = JSONArray()
params.put(encoded)
val que = Volley.newRequestQueue(this)
val req = object : JsonArrayRequest(Request.Method.POST, temp_url + path, params,
Response.Listener {
val json_result = it.toString()
println("Successful: " + it.toString())
}, Response.ErrorListener {
error2()
println("Error: " + it.toString())
}
) {
@Throws(AuthFailureError::class)
override fun getHeaders(): Map<String, String> {
val headers = HashMap<String, String>()
//something here
return headers
}
}
que.add(req)
} catch (e: Exception) {
error2()
println("Exception: " + e.toString())
}
我已经解决了这个问题:问题不是请求,而是编码
val encoded = File(externalCacheDir, "$idSentence.aac").readBytes()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.