繁体   English   中英

如何在 Kotlin Android 中通过 POST(截击)发送音频文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM