帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
115
帖子
2
勋章
1078
Y币
IOS路径即便后缀是db,也会变成一个目录,然后里面才是一个我不懂命名规则的db文件,这样我不可控,特别是遇到用户app出问题,还有数据备份,协助查看db,上传db文件到服务器,路径不对的话,,都会遇到问题,db出问题,我要抓取上传到服务,排查问题都会有困难,能不能我在open里面命什么名字路径,他就会照样生存,和db模块一样就行。我今天全量备份db文件,结果失败了,不能上传,原因是那个路径db文件是一个文件夹,我要读取里面文件,这才上传成功,后续如果发生模块变动,我都不知道怎么应对了...这个对我非常重要,毕竟这是和银行的项目,我有一点马虎就会被领导一顿批斗,搞得压力好大...
52yaoer · 2022-1-9 09:17所以不好确定,要不你把工程协作给我看看?我账号
115
帖子
2
勋章
1078
Y币
安卓和ios都有这问题,就希望和db一样,open方法里面,填写的path路径命什么名,就照样生存对应路径和名字的文件。
52yaoer · 2022-1-9 09:17所以不好确定,要不你把工程协作给我看看?我账号
115
帖子
2
勋章
1078
Y币
本帖最后由 ashu 于 2022-1-15 18:59 编辑

发现问题了,openDatabase里面的name,是数据名称,不是路径里面的子文件名,每个sqlite都可以创建多数据库的,那个name应该是数据库的名称,不应该是文件最终的路径名称。所以,path是最终路径,而name是数据库名,望修复,感谢!
52yaoer · 2022-1-9 09:17所以不好确定,要不你把工程协作给我看看?我账号

216
帖子
5
勋章
5895
Y币
那你 path传 fs://databases/test.db 这样呢?
ashu · 2022-1-15 18:56发现问题了,openDatabase里面的name,是数据名称,不是路径里面的子文件名,每个sqlite都可以创建多数据库的,那个name应该是数据库的名称,不应该是文件最终的路径名称。所以,path是最终路径,而name是数据库名, ...

115
帖子
2
勋章
1078
Y币
ios传了.db的路径形式,还是创建到了目录里面,安卓加了.db后创建就是按照path正常创建了一个文件
52yaoer · 2022-1-15 19:42那你 path传 fs://databases/test.db 这样呢?
115
帖子
2
勋章
1078
Y币
后缀可以不用.db吗?直接暴露是db文件不太好。最好是我在path里面填啥就是啥名字最好。甚至不要后缀,我直接给文件名来个md5字符串就好了
52yaoer · 2022-1-15 19:42那你 path传 fs://databases/test.db 这样呢?
216
帖子
5
勋章
5895
Y币
你不加后缀就是文件夹路径了。。会用name陪组装db的,除非你在path里面指定了.db
ashu · 2022-1-15 20:23后缀可以不用.db吗?直接暴露是db文件不太好。最好是我在path里面填啥就是啥名字最好。甚至不要后缀,我直接给文件名来个md5字符串就好了
115
帖子
2
勋章
1078
Y币
但是ios里面用 .db 最为后缀也是文件夹
52yaoer · 2022-1-15 20:39你不加后缀就是文件夹路径了。。会用name陪组装db的,除非你在path里面指定了.db
115
帖子
2
勋章
1078
Y币
把ios用了.db作为path后缀还是变成文件夹的问题,修复一下呀,年前要上新版本,时间不多了。
ashu · 2022-1-15 20:54但是ios里面用 .db 最为后缀也是文件夹
216
帖子
5
勋章
5895
Y币
  1.     NSString *databasePath = [self getPathWithUZSchemeURL:@"fs://databases/"];
  2.     if(path.length>0){
  3.         databasePath = [self getPathWithUZSchemeURL:path];
  4.     }
  5.     if([databasePath hasSuffix:@".db"]){//结尾有db的
  6.         //不变
  7.     }else{//结尾无db
  8.         if(![databasePath hasSuffix:@"/"]){
  9.             databasePath = [databasePath stringByAppendingString:@"/"];
  10.         }
  11.         
  12.         databasePath = [databasePath stringByAppendingString:name];
  13.         if(![databasePath hasSuffix:@".db"]){
  14.             databasePath = [databasePath stringByAppendingString:@".db"];
  15.         }
  16.     }
  17.    
  18.     //创建路径
  19.     [self createDirectory:[databasePath stringByDeletingLastPathComponent]];
  20.     //end
复制代码


ashu · 2022-1-15 21:05把ios用了.db作为path后缀还是变成文件夹的问题,修复一下呀,年前要上新版本,时间不多了。
123下一页
您需要登录后才可以回帖 登录

本版积分规则