1. Html 页面
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /><hr />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" ShowHeader="false">
<Columns>
<asp:BoundField DataField="Text" />
<asp:ImageField DataImageUrlField="Value" ControlStyle-Height="" ControlStyle-Width="" />
</Columns>
</asp:GridView>
</div>
2. 添加命名空间
using System.IO;
using System.Collections.Generic;
3. 上传文件按钮事件
protected void btnUpload_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Image/") + fileName);
Response.Redirect(Request.Url.AbsoluteUri);
}
}
4.Page_Load 事件--加载图片并显示在GridView中
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string[] filePaths = Directory.GetFiles(Server.MapPath("~/Image/"));
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
string fileName = Path.GetFileName(filePath);
files.Add(new ListItem(fileName, "~/Image/" + fileName));
}
GridView1.DataSource = files;
GridView1.DataBind();
}
}
----------------------------------------
---------------------------------------
从数据库获取binary形式存储的文件([Image]是图片字段,以Binary形式存储)
http://www.beansoftware.com/ASP.NET-Tutorials/Save-Read-Image-Database.aspx
protected void btnDisplayImage_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("select[Image] from SaveImageByBinary where id =1",conn);
byte[] img=(byte[])cmd.ExecuteScalar();
MemoryStream ms = new MemoryStream();
ms.Write(img, , img.Length); Bitmap bt = new Bitmap(ms);
Response.ContentType = "image/jpeg";
//bt.Save(Response.OutputStream, ImageFormat.Jpeg);
string filename = Server.MapPath("~/Image/12456.jpeg");
bt.Save(Response.OutputStream, ImageFormat.Jpeg);
}
}