分布式图片上传存储浏览解决方案(ToolKit Framework Web开发框架示例项目)

2008-5-1 7:12:44 作者:sheepchang 人气:
标签:ToolKit(22) Framework(45)

呵呵,忙了个把星期都没搞什么东东,真不爽哦,不过又到5.1了啊,希望大家能过个愉快的假期。

这期给大家用ToolKit Framework Web开发框架做了个示例项目,解决图片上传分布式存储浏览等问题。

大家在下载的时候经常使用一些下载工具,速度都很快,效果很好。这里都不一一提这些工具的用法了。

但是大家有没有试过直接用浏览器在同一站点下载多个文件?细心的朋友可能早有发现,IE浏览器默认在

同一个站点下面只能同时进行两个线程的下载,多了的话后出现排队等待的情况。

好了现在问题出现了,比如页面中有很多图片,类似像册的应用,或者是视频类网站的列表页面,每个页面

里面有几十个图片要下载,这样就会出现上面的问题,解决的方法就是把图片分布式存储,放在多台服务器上

用多个域名来访问,以达到分流的作用,目前国内一些大型的网站都采用的这种技术,例如:百度的图片搜索、

新浪视频、163、56、tudou、youku等。这些都说明了这样做是有好处的。大家可以先看看这篇文章讲的很详细。

http://blog.s135.com/read.php/332.htm

先从这里下载示例项目:http://www.svnhost.cn/Download/Detail-100.shtml

下面我们来看看示例项目的结构。是用ToolkitAddin生成的项目框架:

image

项目Flyimg.Admin.Web的主要作用是:上传、浏览、删除图片 把上传上来的图片分布到各个文件服务器,使用域名(www.flyimg.cn)。

项目Flyimg.Photo.Web的主要作用是:接收从www.flyimg.cn上传过来的文件并保存,使用域名(s0~s9.flyimg.cn)。

hosts文件中的配置如下:

127.0.0.1    www.flyimg.cn
127.0.0.1    s0.flyimg.cn
127.0.0.1    s1.flyimg.cn
127.0.0.1    s2.flyimg.cn
127.0.0.1    s3.flyimg.cn
127.0.0.1    s4.flyimg.cn
127.0.0.1    s5.flyimg.cn
127.0.0.1    s6.flyimg.cn
127.0.0.1    s7.flyimg.cn
127.0.0.1    s8.flyimg.cn
127.0.0.1    s9.flyimg.cn

然后分别在IIS 6.0中新建上面的站点,站点的创建必须遵循ToolKit Framework Web开发框架站点的创建方法:

1.在站点属性→ASP.NET→ASP.NET版本中选择为2.0的。
2.在站点属性→主目录→配置中添加通配符应用程序映射(URL重写要用到)。

www.flyimg.cn的主目录指向Flyimg.Admin.Web目录的路径,修改项目中Web.config的数据库连接(Site.Dsn)、站点路径(Site.Path)。

把s0~s9.flyimg.cn这几个站点的主目录指向Flyimg.Photo.Web目录的路径。修改项目中Web.config的数据库连接(Site.Dsn)、站点路径(Site.Path)。

修改项目中Img.config的配置,主要修改默认输出的图片(图片找不到和盗链)和各个存储服务器对应文件存储路径的配置,修改成你下载后对应的文件路径。

在数据库中新建flyimg.photo数据库使用这个库运行script.sql脚本。把hosts文件覆盖到C:\WINDOWS\system32\drivers\etc目录下的同名文件中。

然后打开浏览器输入http://www.flyimg.cn/就可以测试示例项目了,看看效果:ps:页面是从百度图片搜索中枪的:)

上传页面:

2

列表页面:

3

浏览页面:

4

找不到文件:

5

盗链的情况:

删除:

7

HttpWatch中的情况:

6

注意如果出现任何错误先到对应项目的SysLogs目录下查看系统日志。然后再来反馈问题。

谢谢,欢迎交流!


 

类似资源

使用协议 - VIP服务 - 在线支付 - 联系我们 - 帮助文档 - Bug Report - 书签服务 - 联系电话:15079690152