Android图片转base64后传到服务器图片老是提示不是jpeg或png格式,明明是的。
问题代码如下:
private fun convertImageToBase64(uri: Uri?) {
try {
Log.e("xxx",uri?.path!!)
val contentResolver: ContentResolver = MApplication.sCurActivity.contentResolver
val mimeType = contentResolver.getType(uri)
if (mimeType != null) {
Log.e("MimeType", "文件类型: " + mimeType)
} else {
Log.e("MimeType", "无法获取文件类型")
}
val bitmap = MediaStore.Images.Media.getBitmap(contentResolver, uri)
var byteArray = FileUtil.convertBitmapToBase64(bitmap,mimeType!!);
val encodedImage = Base64.encodeToString(byteArray, Base64.DEFAULT);
Log.e("xxx", "ImageBase64:"+ encodedImage) // 打印或使用Base64编码的字符串
val jsonObject = JSONObject()
jsonObject.put("class", "File")
jsonObject.put("function", "chooseFile")
val argsJSONObject = JSONObject()
argsJSONObject.put("fileBase64", "data:"+mimeType+";base64,"+encodedImage)
jsonObject.put("args", argsJSONObject)
CallJsService.nativeToJs(jsonObject.toString())
} catch (e: IOException) {
e.printStackTrace()
}
}
后来参考这个文章,将
val encodedImage = Base64.encodeToString(byteArray, Base64.DEFAULT);
改成:
val encodedImage = Base64.encodeToString(byteArray, Base64.NO_WRAP);
终于不报错误了
2948

被折叠的 条评论
为什么被折叠?



