using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.IO;

namespace WebForm_Question2


{

/**//// <summary>
/// index 的摘要说明。
/// </summary>
public class index : System.Web.UI.Page

{
protected System.Web.UI.WebControls.TextBox Txt_imginfo;
protected System.Web.UI.WebControls.Label Lab_size;
protected System.Web.UI.WebControls.Label Lab_imgpath;
protected System.Web.UI.WebControls.Image ImageSmall;
protected System.Web.UI.WebControls.Button btnUp_img;
protected System.Web.UI.HtmlControls.HtmlInputFile upImage;

protected string imagepath;
protected string imagesize;
protected System.Web.UI.WebControls.Button Btn_Add;
protected System.Web.UI.WebControls.Label Lab_message;
protected System.Web.UI.WebControls.HyperLink HyperLink2;
protected System.Web.UI.WebControls.HyperLink HyperLink1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected string imagetype;
private void Page_Load(object sender, System.EventArgs e)

{
// 在此处放置用户代码以初始化页面
}


Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)

{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()

{
this.btnUp_img.Click += new System.EventHandler(this.btnUp_img_Click);
this.Btn_Add.Click += new System.EventHandler(this.Btn_Add_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

显示图片并读取其路径,大小#region 显示图片并读取其路径,大小
private void btnUp_img_Click(object sender, System.EventArgs e)

{
if(""!=upImage.PostedFile.FileName)

{
imagepath = upImage.PostedFile.FileName;
imagesize = upImage.PostedFile.ContentLength.ToString();
imagetype = imagepath.Substring(imagepath.LastIndexOf(".")+1);
//判断是否是JPG或是GIF或是BMP或是PNG图片,可以任意修改图片类型,这里只是举例
if("jpg"!=imagetype && "gif"!=imagetype && "bmp"!=imagetype && "png"!=imagetype)

{
Response.Write("<script language='javascript'>alert('对不起,请选择JPG或是GIF或是BMP或是PNG图片!');</script>");
return;
}
this.Lab_imgpath.Text = imagepath;
this.Lab_size.Text = imagesize;
this.ImageSmall.ImageUrl=imagepath;
}
}
#endregion

添加事件#region 添加事件
private void Btn_Add_Click(object sender, System.EventArgs e)

{
OP_Xml();
}
#endregion

添加图片信息到自定义的XML文件:ImageList.XML#region 添加图片信息到自定义的XML文件:ImageList.XML
private void OP_Xml()

{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("ImageList.XML"));
XmlNode root = doc.DocumentElement;
string id =Convert.ToString(Convert.ToInt32(root.LastChild.ChildNodes[0].InnerText)+1);
string path = this.Lab_imgpath.Text.Trim();
string size = this.Lab_size.Text.Trim();
string info = this.Txt_imginfo.Text.Trim();
// 使用文件流构造一个二进制读取器将基元数据读作二进制值
FileStream fs = new FileStream(path,FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] imageBuffer = new byte[br.BaseStream.Length];
br.Read(imageBuffer,0,Convert.ToInt32(br.BaseStream.Length));
string textString = System.Convert.ToBase64String(imageBuffer);
fs.Close();
br.Close();

//创建元素节点
XmlNode image = doc.CreateElement("image");
XmlNode imageid = doc.CreateElement("imageID");
XmlNode imagepath = doc.CreateElement("imagepath");
XmlNode imageinfo = doc.CreateElement("imageinfo");
XmlNode imagesize = doc.CreateElement("imagesize");
XmlNode imagedata = doc.CreateElement("imagedata");
//创建文本节点
XmlNode txt_id = doc.CreateTextNode(id);
XmlNode txt_path = doc.CreateTextNode(path);
XmlNode txt_info = doc.CreateTextNode(info);
XmlNode txt_size = doc.CreateTextNode(size);
XmlNode txt_data = doc.CreateTextNode(textString);
//文本节点附加给元素节点
imageid.AppendChild(txt_id);
imagepath.AppendChild(txt_path);
imageinfo.AppendChild(txt_info);
imagesize.AppendChild(txt_size);
imagedata.AppendChild(txt_data);
//元素节点附加给image节点
image.AppendChild(imageid);
image.AppendChild(imagepath);
image.AppendChild(imageinfo);
image.AppendChild(imagesize);
image.AppendChild(imagedata);
//image节点附加给根节点
root.AppendChild(image);
doc.Save(Server.MapPath("ImageList.XML"));
this.Lab_message.Text = "图片添加成功!";
}
#endregion
}
}
posted on
2007-12-07 09:11
冷火
阅读(
955)
评论()
收藏
举报