我的主要目標是獲取從 AWS 獲取的影像的方向,部分代碼是首先獲取我需要為其傳遞 URI 的 imputStream,我正在Uri.parse(url)獲取 uri 以及當我嘗試獲取 URI我明白了
java.io.FileNotFoundException:沒有內容提供者
已通過網址:
https://xxx-2.amazonaws.com/YRINWoUKBOW97VXvpnRelWioT2r2/6d95054e-8a6c-4a61-a4ff-18f63aa187b4/1/thumbnail.png?X-Amz-Algorithm=AWS4-HMAC-xx&X-Amz-Date=20220221T203050Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Credential=AKIAJGEUAZB7E5XX6NPA/20220221/eu-west-2/s3%xx&X-Amz-Signature=d3839d925efc6fffff417e25af1e6bad28ed10ef27d1c4460d20470
錯誤
java.io.FileNotFoundException:沒有內容提供商:https ://xxx2.amazonaws.com/YRINWoUKBOW97VXvpnRelWioT2r2/6d95054e-8a6c-4a61-a4ff-18f63aa187b4/1/thumbnail.png?X-Amz-Algorithm=AWS4-HMAC-xxx&X- AMZ-Date = 20220221T203050Z&X-AMZ-SignedHeaders = 1800&X-AMZ-Expire = 1800&X-AMZ-Credential = akiajgeuazb7e5xx6npa%2f20220221%2feu-west-2%2fs3%2faws4_request&x-amz-signature = d3839dffff925fc6417e2520470
這是我的代碼
private fun getExifOrientationFromURI(context: Context, url: String): Int {
var orientation: Int = 1
try {
context.contentResolver.openInputStream(Uri.parse(url)).use { inputStream -> //ERROR IS AT THIS LINE
if(inputStream == null) return orientation
val exif = ExifInterface(inputStream)
orientation =
exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL)
}
} catch (e: IOException) {
e.printStackTrace()
}
return orientation
}
我究竟做錯了什么?
uj5u.com熱心網友回復:
openInputStream()onContentResolver不支持httpor httpsURL,僅支持file、content和android.resource Uri值。您需要為您的 URL 使用 HTTPS API,例如 OkHttp。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/430955.html
標籤:安卓 亚马逊网络服务 科特林 exif android-exif接口
上一篇:“errorMessage”:“無法匯入模塊'app':沒有名為'app'的模塊”,“errorType”:“Runtime.ImportModuleError
