DotNetMultiServerUpload- 图片上传程序

网友投稿 544 2022-10-13

DotNetMultiServerUpload- 图片上传程序

DotNetMultiServerUpload- 图片上传程序

DotNetMultiServerUpload 是图片上传程序,需要windows IIS - 运行环境

windows server 2008 r2

- framework 4.5

iis 7.5

支持多图片上传,多服务器备份

使用场景

图片服务器有几十个GB的图片

服务器有很多不稳定因素,

如:

硬盘会坏掉

机房会断电

白名单会丢失

……

当发生上述情况的时候再去迁移服务器,就很困难

这些问题都可能导致图片服务器无法访问的窘境,

为了增强用户体验,就要考虑到上述问题,对图片做好实时备份

DotNetMultiServerUpload 就是专门为解决这些问题而诞生

使用说明

需要的硬件环境

一台图片服务器 (主)(master)一台图片备份服务器 (backup)两台服务器均为 windows 2008 r2 iis - framework 4.5 环境

部署环境

【第一步】

分别在 主服务器 和 备份服务器上建立 一个站点

并绑定域名 i-1.xx.com 把站点命名为 i-1.xx.com (根据需要绑定你自己的域名)

同时 在主服务器 站点 i-1.xx.com 上再绑定一个域名 s1.i-1.xx.com

在备份服务器站点 i-1.xx.com 上再绑定一个域名 s2.i-1.xx.com

在域名管理系统里面把域名解析至对应服务器

s1.i-1.xx.com 绑定至主服务器 s2.i-1.xx.com 绑定至备份服务器 i-1.xx.com 绑定至主服务器

如果主服务器出现故障,就把域名(i-1.xx.com)再解析至备份服务器

【第二步】

把程序放置在两台服务器 站点i-1.xx.com 下面,修改配置文件 /web.config 和 /servers.xml

/web.config

                                                              

/servers.xml

        

程序说明

整套程序分为几个部分

后台多图上传程序 /.m/upload.aspx核心程序 /do.ashx

部署好程序之后,就可以通过地址 http://i-1.xx.com/.m/upload.aspx 去上传图片

或 http://s1.i-1.xx.com/.m/upload.aspx 上传图片 或http://s2.i-1.xx.com/.m/upload.aspx 上传图片

无论使用哪个地址,程序都会自动把图片合并同步至另外的服务器上面

当然在合并同步另外的服务器的时候 也可能会遇到 网络问题或服务器问题,导致同步失败的可能

这种情况 DotNetMultiServerUpload 是考虑到的,当出现上述问题导致同步失败的时候,

程序就会创建 日志文件,记录上传失败的文件信息和服务器信息,

可以在服务器端制定一个计划任务,定期的去处理错误

定期去执行这两个地址,就可以把上传失败的文件再次同步至其他服务器

http://s1.i-1.xx.com/do.ashx?action=uploaderrors&SecurityKey=asdfdsfsdf

http://s2.i-1.xx.com/do.ashx?action=uploaderrors&SecurityKey=asdfdsfsdf

第三方程序接口

上传可以通过 /.m/upload.aspx 去上传

也可以接入至其他后台中

只需把图片上传至

http://i-1.xx.com/do.ashx?action=upload&SecurityKey=asdfdsfsdf

即可

如C#代码实现:

string SecurityKey = "asdfdsfsdf";    string format = "xml"; //or json    WebClient wc = new WebClient();    byte[] data = wc.UploadFile("http://i-1.xx.com/do.ashx?action=upload&format=" + format + "&SecurityKey=" + SecurityKey, @"D:\xx.jpg");    wc.Dispose();    string xml = System.Text.Encoding.GetEncoding("utf-8").GetString(data);    /*    返回成功结果:    XML:        1    http://i-1.xx.com/2014/4/15/5310bcaf-0f8a-45c5-9a61-9bf45b5e09c1.jpg        JSON:       {"resp":{"success":1,"link":"http://i-1.xx.com/2014/4/15/5310bcaf-0f8a-45c5-9a61-9bf45b5e09c1.jpg"}}             */

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用D3制作统计图表、线性图表、水平柱状图表、饼图 -- (二)面积图表
下一篇:将代码提交到gitlab
相关文章

 发表评论

暂时没有评论,来抢沙发吧~