1. 共享文件夹列表

从数据库中获取别人共享的文件:

whereStr := fmt.Sprintf("auth.uid = %d and auth.read = 1 and auth.is_share = 1", user.UserID)
folderList, err := entity.GetRelateFolderList(whereStr, req.PageOffset, req.PageSize)

并将切片内的赋值到返回切片中:

for _, folderRow := range folderList {isFamilyPath := 0if filepath.Base(folderRow.AbsPath) == types.FolderFamilyDir {isFamilyPath = 1}list = append(list, Info{ID:       folderRow.Id,Name:     folderRow.Name,Path:     fmt.Sprintf("/s/%d", folderRow.Id),FromUser: folderRow.FromUser,Read:     folderRow.Read,Write:    folderRow.Write,Deleted:  folderRow.Deleted,IsFamilyPath: isFamilyPath,})
}

2. 共享文件资源

共享文件夹设置成分享时,需要将原权限删除,并重新组建一个新的权限数组写入至数据库中。

// path转换为实际路径
folderId, err = utils.GetAbsFolderIdFromPath(path)
for _, uID := range req.ToUsers {// 权限存在则删除err = entity.DelFolderAuthByUidAndFolderId(uID, folderId)folderAuthCreate := entity.FolderAuth{Uid:      uID,FromUser: nickname,IsShare:  1,FolderId: folderId,Read:     req.Read,Write:    req.Write,Deleted:  req.Deleted,}folderAuthCreates = append(folderAuthCreates, folderAuthCreate)
}
if folderAuthCreates != nil {if err = entity.BatchInsertAuth(entity.GetDB(), folderAuthCreates); err != nil {err = errors.Wrap(err, errors.InternalServerErr)return}
}

3.惯例

如果你对本文有任何疑问或者高见,关注智汀公众号共同交流探讨(欢迎加入微信号:13326423643可以免费赠送“智能开关或其他智能硬件”哦)。

智汀云盘-网盘开发golagn:共享文件相关推荐

  1. 智汀云盘-开发指南android端:文件夹解密逻辑

    1. 文件夹解密说明 只有加密的文件夹才需要解密,同一用户在查看同一加密文件夹或者是里面的文件/文件夹,每次成功校验密码后,再次查看同一加密文件夹或里面的文件/文件夹,不用输入密码,72个小时后查看才 ...

  2. 智汀云盘-开发指南android端:授权登录

    授权登录功能的实现主要是通过智汀云盘App发起一个携带要获取权限参数的意图去启动智汀App,智汀App根据权限参数获取相应的授权信息(包括家庭信息.用户信息和登录凭证)并通过广播发送消息,智汀云盘接收 ...

  3. 私有云存储 linux,搭建nextcloud私有云存储网盘

    本文将要为您介绍的是搭建nextcloud私有云存储网盘,具体完成步骤: 简介: 搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典.而Nextcloud是ownCloud原开发团队 ...

  4. 私有云linux虚拟机扩容内存,搭建nextcloud私有云存储网盘的教程详解

    Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...

  5. 基于JAVA的小型云盘网盘管理系统

    <spring+springmvc实现的建议云盘网盘管理系统> 该项目采用技术: 后端技术采用了spring,spring mvc,JPA 前端采用了thymeleaf模板语言,美观大方 ...

  6. 如何用阿里云腾讯云服务器部署属于自己的私有云盘/网盘?

    kodbox可道云是一款轻量易用,安全可控的开源私有网盘系统.只需通过简单环境搭建,即可快速完成私有云/私有网盘/在线文档管理系统的部署和搭建.几分钟内搭建您的专属私有云盘/企业网盘.(有企业版和开发 ...

  7. php远程连接真机实现,搭建nextcloud私有云存储网盘的教程详解

    Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...

  8. office移动端_阿里云 Teambition 网盘产品快讯:移动端正式版即将上线,体验将大幅提升...

    据悉,阿里云 Teambition 网盘团队近期再次公布了产品进展,其中特别提到移动端即将在 11 月 20 日正式上线. 对于最近风特别大的阿里云 Teambition 网盘,你体验上了吗? 据了解 ...

  9. uc浏览器邀请码_阿里云Teambition网盘收到邀请码,上传下载不限速!!!

    微信公众号更新以后,推送不是按照优先来的:你们可以把我的微信公众号点击设置为星标,以便于及时的接收信息. 哈喽!大家好,我是斜杠君,每天早上八点推文(偶然会凌晨),还有关键词是最下面的数字.底部点赞. ...

  10. 阿里云 Teambition 网盘亲测体验,秀翻全网!

    话不多说,咱们进入正题,打开Teambition网盘官网:https://www.teambition.com/pan 或者:https://pan.aliyun.com  也可以进入,然后注册登陆填 ...

最新文章

  1. .NET Compact Framework下的蓝牙开发
  2. bugzilla dbd-mysql_Linux下安装Bugzilla——完整版
  3. Java更快地对基元数组进行排序?
  4. 从Java到Go面向对象--继承思想.md
  5. 4-1:C/C++内存管理
  6. 如何看当前windows是utf8还是gbk_职场中的OKR如何“好好说话”
  7. 转:从框架看PHP的五种境界及各自的薪资待遇(仅限于二三线城市,一线除外)...
  8. Java基础篇:什么是异常,异常处理的基础是什么?
  9. 使用css3背景渐变中的透明度来设置不同颜色的背景渐变
  10. office哪个版本最好用?都有哪些版本
  11. VoLTE SIP代码意义及流程图解
  12. c语言计算函数零点个数,遗传算法-求函数零点-C语言代码.doc
  13. 【JAVA】五子棋2.0
  14. 软件测试面试中项目介绍宝典
  15. Java面试精选(6):单例模式有几种写法?
  16. 国产麒麟系统为何饱受争议?
  17. 深度强化学习DDPG算法高性能Pytorch代码(改写自spinningup,低环境依赖,低阅读障碍)
  18. 黑洞同样释放能量--霍金修正黑洞理论
  19. Tampermonkey中文文档(部分)
  20. Python实现电子钢琴及封装

热门文章

  1. 手把手教学搭建抖音短视频源码,包教包会一对一直播程序开发--布谷鸟科技...
  2. wincc版本升级_关于WINCC升级问题
  3. PAT 1033 旧键盘打字
  4. 快递大决战时刻:菜鸟顺丰互怼背后,数据所有权到底归谁?看最全评论
  5. 一看就懂的网络传输介质介绍
  6. 了解中间件与消息中间件
  7. [转载]***编年史 之 上帝派来的***
  8. Python3 爬取 NBA 2013-2014 赛季比赛数据
  9. 可以修改GPS的照片图像编辑器——Photos Exif Editor for Mac2.8特别版
  10. NDepend v2022.2.1.9665 专业版