1***@qq.com
1***@qq.com
  • 发布:2023-03-04 11:57
  • 更新:2023-03-15 17:58
  • 阅读:240

【报Bug】plus.io中file.slice对文件进行切割,读取的还是整个文件,没有起到文件切割的作用

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.7.3

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: 小米8

打包方式: 云端

示例代码:
/*   
    上传文件工具类  
 */  
import {  
    FILE_CHUNK_SIZE  
} from "@/config/global.js";  

/**  
 * 文件切片(仅限APP端使用)  
 * @param {Object} path  
 * @returns {ok: true | false, ...}  
 */  
export const splitFile = function(path) {  
    // #ifdef APP-PLUS  
    return new Promise((resolve, reject) => {  
        plus.io.resolveLocalFileSystemURL(path, entry => {  
            entry.file(file => {  
                // 文件大小  
                const fileSize = file.size;  
                // 获取文件名字  
                const fileName = file.name;  
                let fileNameArr = fileName.split("\.");  
                // 获取文件后缀名  
                const suffix = fileNameArr[fileNameArr.length - 1];  

                // 切片数量  
                const chunks = Math.ceil(fileSize / FILE_CHUNK_SIZE);  
                // 定义切片数组  
                let chunkFile = [];  
                for(let i = 0; i < chunks; i++) {  
                    let chunk = file.slice(i * FILE_CHUNK_SIZE, (i + 1) * FILE_CHUNK_SIZE);  
                    chunkFile.push({  
                        file: chunk,  
                        fileSize,  
                        suffix,  
                        chunk: i,  
                        chunkSize: FILE_CHUNK_SIZE,  
                        chunks  
                    })  
                }  

                return resolve({  
                    data: chunkFile,  
                    ok: true,  
                    message: '文件切片成功!'  
                });  
            }, err => reject({ok: false, message: err}));  
        }, err => reject({ok: false, message: err}));  
    })  
    // #endif  

    // #ifndef APP-PLUS  
    return Promise.reject({ok: false, message: "非APP端不可使用该方法!"});  
    // #endif  
}  

操作步骤:

方法传递一个文件路径(path)和一个切片的大小(FILE_CHUNK_SIZE)即可

预期结果:

获取的是相应FILE_CHUNK_SIZE大小的碎片文件

实际结果:

此时上传的是整个文件

bug描述:

bug如题描述

2023-03-04 11:57 负责人:DCloud_Android_ST 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

请附件提供一个完整示例demo

要回复问题请先登录注册