【发布时间】:2020-09-04 21:15:16
【问题描述】:
我正在使用 Kotlin Android 应用程序访问 API 端点。在这个 API 调用中,我返回一个字节数组。我希望看到的是一种将字节数组转换为pdf文件并保存在手机下载文件夹中的方法。
private suspend fun getIDCard(sessionID: String?, carriermemid: String?): ByteArray? {
var results: String = ""
val postData = "{\"sessionid\": \" $sessionID\"}"
val outputStreamWriter: OutputStreamWriter
var byteArray: ByteArray? = null
val url: URL = URL(idURL + carriermemid)
val conn: HttpURLConnection = url.openConnection() as HttpURLConnection
try {
conn.setRequestProperty(apiConfig.typeKey, apiConfig.typeValueJSON)
conn.setRequestProperty("Accept", "application/json")
conn.setRequestProperty("sessionid", sessionID)
conn.requestMethod = apiConfig.methodGet
val responseCode: Int = conn.responseCode
println("Response Code :: $responseCode")
//returning 404
return if (responseCode == HttpURLConnection.HTTP_OK) {// connection ok
var out: ByteArrayOutputStream? = ByteArrayOutputStream()
val `in`: InputStream = conn.inputStream
var bytesRead: Int
val buffer = ByteArray(1024)
while (`in`.read(buffer).also { bytesRead = it } > 0) {
out!!.write(buffer, 0, bytesRead)
}
out!!.close()
byteArray = out.toByteArray()
return byteArray
} else {
return byteArray
}
} catch (ex: Exception) {
ex.printStackTrace()
} finally {
conn.disconnect()
}
return byteArray
}
【问题讨论】:
-
convert the byte array to a pdf file and save it in the phones download folder.字节数组中有什么可以转成pdf的?我认为字节数组将包含pdf,您所要做的就是将数组中的字节保存到文件中,您就完成了。 -
@blackapps 字节数组确实包含 pdf。至于我如何寻找例子。 :facepalm:
-
所以基本上你的问题是:如何将文件存储在全局下载文件夹中?
-
@tynn 将字节数组转换为文件以存储在全局下载中。
标签: android arrays pdf kotlin pdf-generation