CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站

多台Web服务器用WebService实现图片资源统一管理

作者: 柳吉,  出处:IT专家网, 责任编辑: 包春林, 
2008-04-09 04:00
  我们大家都知道,在Web应用程序中,我们会经常运用到图片的上传功能,如果我们用传统的办法,就势必会需要对两台服务器的照片进行实时的同步,从维护上来说增加了难度。如果考虑把所有的上传都放在一台资源服务器上,上传照片,对照片的修改删除及读取只操作一台服务器,这儿就有一个解决的办法,利用WebService来解决多服务器图片的上传。

  【IT专家网独家】我们大家都知道,在Web应用程序中,我们会经常运用到图片的上传功能,而如果在多Web服务器去实现这样的功能的时候,就会有一个麻烦,如果在第一台Web服务器上上传图片文件时,另一台同样的Web服务器怎么样能得到此图片并且在页面中显示出来呢?

  如果我们用传统的办法,就势必会需要对两台服务器的照片进行实时的同步,从维护上来说增加了难度。如果考虑把所有的上传都放在一台资源服务器上,上传照片,对照片的修改删除及读取只操作一台服务器,这儿就有一个解决的办法,利用WebService来解决多服务器图片的上传。

  项目是基于.net平台去创建的,我们先利用Visual Studio2005来创建一个web服务,如图1:

  图1 建立Web服务站点

  图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;

  }

  }

        注意:需要把文件定义成用byte[] 的方式。

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i