Android图片转base64后传到服务器提示格式不对

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);

终于不报错误了

相关推荐
用户693717500138417 小时前
了解一下 Agent Harness
android·前端·后端
淡淡的香烟17 小时前
Android15适配16kb完整版
android
杉氧17 小时前
跨平台持久化:Flutter 本地数据库的多线程安全与架构设计实践
android·前端·flutter
小孔龙17 小时前
Compose 布局与绘制:LayoutNode、DisplayList 与 GraphicsLayer
android·android jetpack
淡淡的香烟18 小时前
Android常用adb命令
android·adb
艾莉丝努力练剑20 小时前
【MYSQL】MYSQL学习的一大重点:事务(上)- 原子性与持久性
android·数据库·学习·mysql·面试
plainGeekDev1 天前
工厂模式 → Hilt
android·java·kotlin
雨白1 天前
深入理解 Kotlin 协程 (十):引而不发,探秘 Flow 冷流机制与异常透明性
android·kotlin
plainGeekDev1 天前
Application 单例 → Hilt Singleton
android·java·kotlin
程序员码歌1 天前
我全程用 AI开发了一款微信小游戏,上线了
android·前端·游戏开发