现在国内可选择的网盘越来越少,而且上传下载限速,文件审核也很严格。针对这些缺点,自建网盘无疑是一个不错的选项。
自建网盘的优缺点
- 优点:自己控制数据、不限速(但取决于服你的务器)、功能多、无广告
- 缺点:稳定性不如大公司、成本高、有一定技术门槛
下面来列举一下开发一款私有云盘(网页端应用)需要具备哪些技术条件。
前端开发
如果你听说过 elFinder 那么应该会发现,私有云盘的前端需要具备
- 目录树
- 文件列表
- 目录新增删除
- 文件的上传(断点续传)、复制粘贴、预览、搜索、下载、删除
- 侧边栏宽度调节
- 文件鼠标框选(键盘+鼠标点击反选),批量压缩打包下载
- 文件拖动 移动位置
- 等其他功能...
它的功能齐全,不过UI比较丑陋。
服务端开发
服务端需要开发一套文件操作的接口:
- 目录树
- 文件上传、打开、下载、预览、删除等等
- 如有必要还需要设计一套权限系统,来限制用户的非法操作
怎么样?听起来好像稍微有点难度。不过有个好消息是最近我已经完成了一套,UI如下:
收获总结
这个项目在前端开发过程中,会遇到一些不太常见的问题,我在之前的文章中也曾记录过:
- 侧边栏宽度调整 《拖动元素边缘改变宽度》
- 文件多选 《selection-area鼠标框选文件》
- 大文件切片上传 《Node.js实现分片上传》
- Node.js提供静态文件服务协议升级为HTTPS 《Node.js提供https服务》
体验地址
如果你对上面的内容感兴趣也可以到后面的地址体验一下 Vue FileManager,如果觉得不错,请记得点点赞👍🏻哟,感谢!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。