用wcf实现带有“秒传”功能的网盘
写在前面
前面记录过这样一个关于“秒传”的实现思路,在这篇就弄了一个简单的demo实现了一下,当中有很多业务仍没考虑,只是将“秒传”的实现思路,用代码实现了一下。
关于秒传,可以参考这篇文章:何为“秒传”
项目结构
各项目的作用,这里就不再赘述了,看项目名称就一目了然了。
使用技术:wcf,linq to sql等。
开发环境:vs2013 ,sql server2012.
项目界面
默认登录用户:wolfy,密码:1234
主界面
简单测试
上传一个网盘中已经存在的文件
上传一个网盘中不存在的文件
数据表
有很多东西,都给忽略了,只是为了实现上传的功能,简单列举了几个字段,是那个意思就成。
上传已经存在的文件,则在服务端保留一个副本,并进行重命名,在数据库中的FilePath更新为重命名后的文件路径即可。
效果:
文件文件夹重命名可参考我前面的两篇文章中封装的类
[工具类]文件或文件夹xx已存在,则重命名为xx(n)(2)
待解决的问题
1、wcf上传大文件。
2、上传采用的同步方式(比较卡)
3、下载
4、分享
5、删除
6、空间扩展等。
7、文件夹上传下载删除。
8、界面的美化(文件或者文件夹以图标方式显示)
9、代码业务逻辑梳理(扔有些地方不严谨,比如上传成功后没有更新已用空间)。
这些问题,留着慢慢修改吧。
总结
其实也没用到什么高深的技术,只是觉得好玩,就用wcf实现了个上传下载的demo。加上最近在学习linq ,正好弄个简单的demo练练手。
源码下载:链接:http://pan.baidu.com/s/1hqtfyU4 密码:e6pd
-
博客地址:http://www.cnblogs.com/wolf-sun/
博客版权:如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步! 再次感谢您耐心的读完本篇文章。