SilerKing 发表于 2024-2-27 15:34:05

关于应用市场个人网盘分享的一点儿讨论

之前研究过的系统自带云网盘已经放弃调试并禁用了,差的功能太多。开始调试应用市场下载的那个个人网盘。

之前报过两个bug,另有一个疑似bug“文件分享给其他人,其他需要保存在自己网盘才能进行查看,如何设置成在分享里面就可以直接查看,而不用在保存到自己文件夹里面”,有人问了我就没重复提
https://www.o2oa.net/forum/forum.php?mod=viewthread&tid=106696

目前研究修改代码的方式把这个问题解决。
个人网盘和之前系统自带的云盘实现方式不一样,个人网盘基于门户实现,业务逻辑全写在脚本配置中的cloudFile脚本里。与查看分享文件相关的代码在1862-2172行。
通过研究代码和自己测试得知pdf格式的文件不存在需要保存到自己网盘才能查看的问题,而doc、xls等office相关的格式有问题。
脚本在1870-1872行简单粗暴地做了一个条件判断,如果是分享的office类文件直接return,自己的文件可以查看

if(this.file.shareType){
      return ;
}


可以通过修改代码的方式去掉这一限制

if(this.file.shareType){
      this.filePdfUrl = this.view.portalHost + "/x_file_assemble_control/jaxrs/attachment2/"+ this.file.fileId +"/office/preview/type/pdf";
      window.open("/m_app/yunFile/pdfjs/web/viewer.html?file=" + this.filePdfUrl);
}
else
{
      this.filePdfUrl = this.view.portalHost + "/x_file_assemble_control/jaxrs/attachment2/"+ this.file.id +"/office/preview/type/pdf";
      window.open("/m_app/yunFile/pdfjs/web/viewer.html?file=" + this.filePdfUrl);
}


但是若为分享的office类文件打开依然报错,尽管已经把打开他人分享的文件和文件主人打开自己文件显示的网址调成一样的。


猜测与用户登录token有关(不一定对)
另外分享状态的文件夹也是打不开的,必须保存到自己网盘才能打开,这一块相关的代码还在研究。
最后询问一下office类文件不能实现分享状态查看,粗暴地做条件判断拦截,是技术原因实现不了还是基于安全等考虑不想实现?
帖子有点长,感谢老师百忙之中耐心看完并回复,谢谢!

653489bc 发表于 2024-2-28 14:09:58

         顶一下
页: [1]
查看完整版本: 关于应用市场个人网盘分享的一点儿讨论