帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
7
帖子
0
勋章
57
Y币

[插件开发] 关于content://转换正式路径

[复制链接]
发表于 2020-4-30 14:46:31
  文件路径  content://com.tencent.mobileqq.fileprovider/external_files/storage/emulated/0/Tencent/QQfile_recv/winpr.nkwkey
我想开发安卓模块 new File 此文件 读取此文件 。但是明显这个不是真实路径,想请教怎么能获取到这个文件的真实路径。
我看官方的fs就能 将content://文件复制到fs下 ,所以想请教一下~~
20
帖子
0
勋章
6613
Y币
4.2 文件路径转换
为消除iOS和Android平台系统间文件路径的差异,APICloud为前端JS提供了fs://、widget://和cache://等虚拟文件路径协议,因此,模块在使用JS端传入的路径时需要调用UZModule里面的 - (NSString )getPathWithUZSchemeURLNSString )url 方法来转换成正确的绝对路径。

NSString *path = [paramDict stringValueForKey"path" defaultValue:nil];
if (path) {
    NSString *fullPath = [self getPathWithUZSchemeURL:path];
}
参考 https://docs.apicloud.com/Module-Dev/module-dev-guide-for-ios
7
帖子
0
勋章
57
Y币
yxWin 发表于 2020-4-30 14:50
4.2 文件路径转换
为消除iOS和Android平台系统间文件路径的差异,APICloud为前端JS提供了fs://、widget:// ...

我传入的是content://呢
7
帖子
0
勋章
57
Y币
yxWin 发表于 2020-4-30 14:50
4.2 文件路径转换
为消除iOS和Android平台系统间文件路径的差异,APICloud为前端JS提供了fs://、widget:// ...

而且我说的是安卓啊。。
20
帖子
0
勋章
6613
Y币
https://docs.apicloud.com/Module ... -for-android-studio

makeRealPath        将一个任意协议的路径,如标准的content://,res://,以及APICloud扩展的widget://,fs://,cache://转换为系统可识别的真实路径

文档里都有
7
帖子
0
勋章
57
Y币
yxWin 发表于 2020-4-30 15:05
https://docs.apicloud.com/Module-Dev/module-dev-guide-for-android-studio

makeRealPath        将一个任意协 ...

我转换完的得到的路径就是我刚才复制的那个路径~
7
帖子
0
勋章
57
Y币
海洋网络 发表于 2020-4-30 15:17
我转换完的得到的路径就是我刚才复制的那个路径~
  1.                 String keyPath= uzModuleContext.optString("filepath");
  2.                 String absolutPath=makeRealPath(keyPath);
复制代码
20
帖子
0
勋章
6613
Y币
帮你问一下 等回复
7
帖子
0
勋章
57
Y币
yxWin 发表于 2020-4-30 15:33
帮你问一下  等回复
  1. {"iosUrl":"content://com.tencent.mobileqq.fileprovider/external_files/storage/emulated/0/Tencent/QQfile_recv/winpr.nkwkey","appParam":{},"data":"content://com.tencent.mobileqq.fileprovider/external_files/storage/emulated/0/Tencent/QQfile_recv/winpr.nkwkey","sourceAppId":"com.tencent.mobileqq"} at main.html : 82
复制代码


这个打开方式传进来的, 我想获取到这个文件 操作这个文件 就需要把这个content:// 转换成file:// 让java获取~
20
帖子
1
勋章
7575
Y币
content://是android的系统资源协议,不一定有对应真实的file文件。你应该用ContentResolver读到流后,再写到你希望的本地文件里。
12下一页
您需要登录后才可以回帖 登录

本版积分规则