多台Web服务器用WebService实现图片资源统一管理
我们大家都知道,在Web应用程序中,我们会经常运用到图片的上传功能,如果我们用传统的办法,就势必会需要对两台服务器的照片进行实时的同步,从维护上来说增加了难度。如果考虑把所有的上传都放在一台资源服务器上,上传照片,对照片的修改删除及读取只操作一台服务器,这儿就有一个解决的办法,利用WebService来解决多服务器图片的上传。
【IT专家网独家】我们大家都知道,在Web应用程序中,我们会经常运用到图片的上传功能,而如果在多Web服务器去实现这样的功能的时候,就会有一个麻烦,如果在第一台Web服务器上上传图片文件时,另一台同样的Web服务器怎么样能得到此图片并且在页面中显示出来呢?
如果我们用传统的办法,就势必会需要对两台服务器的照片进行实时的同步,从维护上来说增加了难度。如果考虑把所有的上传都放在一台资源服务器上,上传照片,对照片的修改删除及读取只操作一台服务器,这儿就有一个解决的办法,利用WebService来解决多服务器图片的上传。
项目是基于.net平台去创建的,我们先利用Visual Studio2005来创建一个web服务,如图1:

图1 建立Web服务站点
然后添加一个Web服务新项,命名为FileUpLoad.asmx。
我们来看看Web服务对图片进行操作的下列方法:
1) 图片上传,返回的方法是否上传成功:
| [WebMethod(Description = "Web 服务提供的方法,返回是否文件上载成功与否。")]
public bool UploadFile(byte[] fs, string FileName) { string path = System.Configuration.ConfigurationSettings.AppSettings["PicPath"].ToString(); try { if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); ///定义并实例化一个内存流,以存放提交上来的字节数组。 MemoryStream m = new MemoryStream(fs); ///定义实际文件对象,保存上载的文件。 FileStream f = new FileStream(path + "\\" + FileName, FileMode.Create); ///把内内存里的数据写入物理文件 m.WriteTo(f); m.Close(); f.Close(); f = null; m = null; return true; } catch { return false; } } |
- 本文关键词:

