开发PDF文件管理数据库应用APP,如何在HarmonyOS鸿蒙Next中突破ArkTS本地关系数据库对数据大小的限制(2M)?

开发PDF文件管理数据库应用APP,如何在HarmonyOS鸿蒙Next中突破ArkTS本地关系数据库对数据大小的限制(2M)?

cke_160.png

官方建议单条数据不超过2M,但是很多PDF文件的大小会超过2M,请问有什么办法?


更多关于开发PDF文件管理数据库应用APP,如何在HarmonyOS鸿蒙Next中突破ArkTS本地关系数据库对数据大小的限制(2M)?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

这种我的思路不是直接将PDF存在数据库中。是先将文件拷贝到应用沙箱中,然后将这个PDF在应用沙箱的路径存到数据库字段中,以附件的形式挂载到数据库中。关系型数据库好像本身就支持挂载附件。可以参考官方文档中的assets描述:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-relationalstore-V5#valuetype

不过我没使用过asset这个功能,我还是采用的最原始的,直接将文件的应用沙箱路径保存到数据库字段中。

更多关于开发PDF文件管理数据库应用APP,如何在HarmonyOS鸿蒙Next中突破ArkTS本地关系数据库对数据大小的限制(2M)?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


超出长度可以考虑将数据拆分存储。

或者使用存储范围更大的键值型数据库: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/data-persistence-by-kv-store-V5#%E7%BA%A6%E6%9D%9F%E9%99%90%E5%88%B6

希望HarmonyOS能继续推出更多实用的功能,满足用户的不同需求。

这种方法或可以尝试,但有4M的限制…总感觉束手束脚的,咋还不如SQLite涅,

可以参考图片保存的模式:pdf文件存本地沙箱,数据库只保存沙箱地址就好了。

你们是要求一定要将pdf文件本体放在数据库中吗?

是的,更方便打包带走,

在HarmonyOS鸿蒙Next中,ArkTS本地关系数据库默认对数据大小有2M的限制。要突破这一限制,可以采用以下方法:

  1. 分块存储:将大文件分割成多个小块,每块大小控制在2M以内,分别存储在数据库中。读取时再将这些小块重新组合。

  2. 使用外部存储:将大文件存储在设备的文件系统中,数据库中仅存储文件的路径或索引。这样可以利用文件系统的存储能力,不受数据库大小限制。

  3. 分布式存储:如果应用涉及多设备协同,可以将大文件存储在云端或其他设备上,数据库中仅存储文件的元数据或访问链接。

  4. 自定义数据库:如果应用对数据库有特殊需求,可以基于鸿蒙的分布式数据管理能力,开发自定义的数据库解决方案,绕过默认的大小限制。

  5. 压缩数据:在存储前对数据进行压缩,减少数据大小,从而在2M限制内存储更多内容。

通过以上方法,可以在HarmonyOS鸿蒙Next中突破ArkTS本地关系数据库对数据大小的限制,实现对大文件的有效管理。

回到顶部