//定义图片上传路径
String FilePath = Server.MapPath("~/SiteSource/");
int intNumber;
Random r = new Random();
intNumber = Convert.ToInt32(r.Next(100, 999));
string NewFlieName = DateTime.Now.ToString("yyyyMMddHHmmss") + intNumber.ToString() + ".jpg";
//读取对象并上传
if (_XMLhttp.readyState == 4)
{
//判断本地服务器图片是否存在
if (System.IO.File.Exists(FilePath + NewFlieName))
System.IO.File.Delete(FilePath + NewFlieName); //如存在则删除该图片
//定义流并初始化
System.IO.FileStream fs = new System.IO.FileStream(FilePath + NewFlieName, System.IO.FileMode.CreateNew);
System.IO.BinaryWriter w = new System.IO.BinaryWriter(fs);
//写入图片数据
w.Write((byte[])_XMLhttp.responseBody);
w.Close();
fs.Close();
return "/SiteSource/" + NewFlieName;
}
else
return "";
}
catch (Exception ex)
{
return "";
}
}
4 结语
整合现有HTML编辑器实现跨站自动上传图片功能,进一步简化了网页内容二次组织编辑工作,尽可能减少了因二次编辑带来的内容错误的发生几率,同时也提高了网页内容编辑发布效率;从维护的角度来说上,降低了信息的缺失而造成的站点内容不完整问题。值得一提的是,本文所述的解决方案完全基于服务器端,图片数据的处理过程涉及本地、远程服务器双方通信,因此它必须具备一个前提:即本地服务器必须能解析远程服务器的域名或地址。 本文仅给出了整合编辑器跨站处理远程站点图片的一种思路,有兴趣的朋友可以进一步发挥。
|