处理上传到服务器文件,但是无法通过url访问。修改文件权限后可以访问。请问怎么解决?

最近项目需要做文件的共享存储,目前是三个节点(例如99,97,98),遇到的问题就是,在97上传的文件,98和99下载不了

原因是因为权限问题,就是修改文件权限后,其它节点就可以访问了,想到这一步

   我有两种思路,第一种,为什么98和99上传的文件,他们俩直接就可以相互直接下载,而唯独97节点不能下载,能不能将97弄成和98和99一样,第二种,用java代码的方式将文件的权限修改下,这样也能达到效果,

   有了两种思路,先想着用第一种,为什么会出现97和别的不一样,原因每个节点上传的文件,它产生对应的uid和gid,这两个id分别是用户的id和组id,99和98生成的是一样uid,而97生成了不一样的uid,为什么会出现这种情况?由于时间紧我就选择了第二种的方式,

   第二种的方式,通过java代码的方式将上传的附件权限加以修改,如下面的代码

          Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();    perms.add(PosixFilePermission.OWNER_READ); //设置所有者的读取权限  

perms.add(PosixFilePermission.OWNER_WRITE); //设置所有者的写权限  

perms.add(PosixFilePermission.OWNER_EXECUTE); //设置所有者的执行权限   perms.add(PosixFilePermission.GROUP_READ); //设置组的读取权限  

perms.add(PosixFilePermission.GROUP_EXECUTE); //设置组的执行权限  

perms.add(PosixFilePermission.OTHERS_READ); //设置其他的读取权限   perms.add(PosixFilePermission.OTHERS_EXECUTE); //设置其他的执行权限

//修改文件权限主要方法

Files.setPosixFilePermissions(pathDest, perms);  //修改文件的权限

重新部署代码,问题解决。第一种方式,有时间再研究研究,希望可以帮助到你

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值