在一开始我觉着这个控件其实难度不大吧。
但我在使用数据流利用这个控件输出图片的时候还是遇见了点小问题啊。
虚拟路径的问题。折磨了一时半会。
我把数据流输出图片的代码放着。虽然是跟着书上一起做的。
protected void Page_Load(object sender, EventArgs e)
{
string file = string.Empty;
//获取文件参数地址
file = Request.QueryString["file"].ToString();
// file = HttpContext.Current.Request.MapPath(file);
//以数据流的形式根据文件地址打开文件
FileStream stream = new FileStream(file, FileMode.Open);
//获取流的长度
long filesize = stream.Length;
//定义一个二进制数组
byte[] buffer = new byte[filesize];
//从流中读取字节块并将该数组写入缓冲区
stream.Read(buffer, 0, (int)filesize);
//关闭流
stream.Close();
//输出图片
Response.BinaryWrite(buffer);
stream = null;
}
专门写了一个ShowIImg.aspx来存放这代码。可以进行复用。
然后我想上传图片就可以看见图片。
思路是先把图片保存在虚拟路径然后数据流读取出来再显示
我把自个上传图片保存的代码也放在这里。好方便以后查看
protected void Btn_Ok(object sender, EventArgs e)
{
filename = file.PostedFile.FileName;
filesrc = Server.MapPath(@"~\image\");//返回一个物理路径
filesrc += file.PostedFile.FileName;
file.PostedFile.SaveAs(filesrc);//先存储然后再读取即可
mg1.Src = "ShowImg.aspx?file=" + Server.UrlEncode(filesrc);//获取路径
}
还是算有所收获。O(∩_∩)O~