首页 > 解决方案 > 将视频分成几部分,在android中用base64编码每个部分

问题描述

在我的应用程序中,我将大尺寸的视频上传为 base64 字符串形式,这会导致内存不足错误。有一种解决方案可以防止将视频分成几部分,将每个部分编码为base64,但我不知道该怎么做,因为我在android应用程序开发方面没有太多经验?

InputStream inputStream = null;
        // Converting the video in to the bytes
        try {
            inputStream = getContentResolver().openInputStream(Uri.parse(String.valueOf(selectedMediaUri)));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        int bufferSize = 1024;
        byte[] buffer = new byte[bufferSize];
        ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
        int len = 0;
        try {
            assert inputStream != null;
            while ((len = inputStream.read(buffer)) != -1) {
                byteBuffer.write(buffer, 0, len);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        String videoData = Base64.encodeToString(byteBuffer.toByteArray(), Base64.DEFAULT);

标签: androidvideobase64

解决方案


而不是使用Base64usemultipart来上传文件,这将解决您的问题。


推荐阅读