源码源文件已附带,按照源码进行即可
- 发布:2022-12-29 14:31
- 更新:2024-09-07 15:59
- 阅读:1745
【报Bug】plus.io.FileReader()中读取文件,使用了blob.slice分割,readAsText会正常显示分割后的字符,而readAsDataURL还是只会显示未分割的
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11 家庭中文版 21H2
HBuilderX类型: 正式
HBuilderX版本号: 3.6.14
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: 荣耀10,harmonyOS 2.0.0系统,是鸿蒙不是安卓系统,手机OS系统那栏我乱选的安卓12
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
readAsDataURL也能够正常读取按照blob.slice(start,end)方法分割的文件
readAsDataURL也能够正常读取按照blob.slice(start,end)方法分割的文件
实际结果:
未实现,目前readAsDataURL是读取的未分割的源文件
未实现,目前readAsDataURL是读取的未分割的源文件
bug描述:
我在本地/static/目录下放置一个.bin文件,并且使用file.slice(start,end)按照字节分割出来,
使用readAsText读取是正常的分割后的字符内容(图一)
而使用了readAsDataURL读取分割的文件时,展示的还是源文件未分割的内容(图二)
请问此问题是不是uniapp框架内的bug
另外附上源代码和源文件方便复现场景
plus.io.resolveLocalFileSystemURL(
"/static/OCE_HMET_1.2.1_CODE.bin",
function (entry) {
//读取文件
entry.file(function (file) {
var reader = new plus.io.FileReader();
var newBlob = file.slice(1,1025);
console.log("newBlob", newBlob);
// reader.readAsDataURL(newBlob); // 以URL格式读取文件
reader.readAsText(newBlob, "utf-8"); // 以字符串格式读取文件
reader.onload = function (evt) {
console.log("evt", evt, evt.target.result.length);
};
});
}
);
最佳回复
readAsDataURL 暂时未支持slice 感谢你的反馈
-
1***@qq.com (作者)
回复 DCloud_Android_ST: 不能因为很少人使用就放弃技术更新了啊,万一碰见像我这种开发硬需求需要使用的,这不是白搭了吗
2022-12-30 10:29
2***@qq.com
服了,修复就修复吧。咋地还能乱改东西。readAsDataURL之前读出来的base64没有\r\n的 ,更新到3.7.3....,读出来的就多出了\r\n,研究一天,我说怎么上传文件,一直异常。你个老六....
2023-02-25 11:01
Leaves29
更新后,原来的上传的文件在服务端怎么转存呢,我试了图片损坏的,求指导。。PHP
2023-03-01 01:52
Leaves29
回复 2***@qq.com: 异常解决了吗?。。
2023-03-01 01:52
1***@qq.com (作者)
回复 2***@qq.com: 草,我是遇到一样的问题,现在识别了换行符\r\n,以前没有的,搞得我们APP出bug了
2023-03-10 11:48
h***@foxmail.com
还有这么搞的,为了显得整齐一点,把数据内容都改了! 人为制造 BUG. 一通修正。。。 晕啊,不带这么玩的吧 ?!
2023-03-20 22:08