用wcf实现带有“秒传”功能的网盘

写在前面

前面记录过这样一个关于“秒传”的实现思路,在这篇就弄了一个简单的demo实现了一下,当中有很多业务仍没考虑,只是将“秒传”的实现思路,用代码实现了一下。

关于秒传,可以参考这篇文章:何为“秒传”

项目结构

各项目的作用,这里就不再赘述了,看项目名称就一目了然了。

使用技术:wcf,linq to sql等。

开发环境:vs2013 ,sql server2012.

项目界面

默认登录用户:wolfy,密码:1234

主界面

简单测试

上传一个网盘中已经存在的文件

上传一个网盘中不存在的文件

数据表

有很多东西,都给忽略了,只是为了实现上传的功能,简单列举了几个字段,是那个意思就成。

上传已经存在的文件,则在服务端保留一个副本,并进行重命名,在数据库中的FilePath更新为重命名后的文件路径即可。

效果:

文件文件夹重命名可参考我前面的两篇文章中封装的类

[工具类]文件或文件夹xx已存在,则重命名为xx(n)

[工具类]文件或文件夹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

posted @ 2015-03-03 09:13  wolfy  阅读(3500)  评论(28编辑  收藏  举报