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

终于不报错误了

相关推荐
モンキー・D・小菜鸡儿18 小时前
Android 系统TTS(文字转语音)解析
android·tts
2501_9159090618 小时前
iOS 反编译防护工具全景解析 从底层符号到资源层的多维安全体系
android·安全·ios·小程序·uni-app·iphone·webview
Swizard18 小时前
速度与激情:Android Python + CameraX 零拷贝实时推理指南
android·python·ai·移动开发
summerkissyou198718 小时前
Android13-Audio-AudioTrack-播放流程
android·音视频
里纽斯19 小时前
RK平台Watchdog硬件看门狗验证
android·linux·rk3588·watchdog·看门狗·rk平台·wtd
三七吃山漆19 小时前
攻防世界——comment
android·python·web安全·网络安全·ctf
用户4130798106119 小时前
终于懂了-ARouter原理初探
android
fatiaozhang952720 小时前
晶晨S905L3B芯片-2+8G-安卓9.0-ATV原生设置(深度精简优化)-通刷-线刷固件包
android·电视盒子·刷机固件·机顶盒刷机·晶晨s905l3b通刷包·e900v22c-s905l3
Railshiqian20 小时前
安卓如何查看settings是被哪个进程更新的
android
键来大师20 小时前
Android15 安装APK时监听且替换安装
android·framework·rk3588·android15