求:asp.net+C#+SQL SERVER图片上传下载代码
求:asp.net+C#+SQL SERVER图片上传下载代码
我在网上找了,但是没有好用的,故来求
最好是能打包下载的,网上的许多代码是殘缺不全的,根本不能用
------解决方案--------------------
完整的代码
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
 protected void Button1_Click(object sender, EventArgs e)
 {
   //得到文件数组
   byte[] fileData = FileUpload1.FileBytes;
   //得到文件名字
   string fileName = System.IO.Path.GetFileName(FileUpload1.FileName);
   //得到文件类型
   string fileType = FileUpload1.PostedFile.ContentType;
   //构建数据库连接,SQL语句,创建参数
   string strCnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb";
   System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(strCnString);
   String strSql = "INSERT INTO FileTable (ContentType,Content,Title)" +
                   "VALUES (@ContentType,@Content,@Title)";
   System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(strSql, myConnection);
   command.Parameters.AddWithValue("@ContentType", fileType);
   command.Parameters.AddWithValue("@Content", fileData);
   command.Parameters.AddWithValue("@Title", fileName);
   //打开连接,执行查询
   myConnection.Open();
   command.ExecuteNonQuery();
   myConnection.Close();
   Response.Redirect(Request.FilePath);
 }
 protected void Page_Load(object sender, EventArgs e)
 {
   //Create Table FileTable (FileId COUNTER CONSTRAINT FileIdConstraint PRIMARY KEY, Title TEXT, ContentType TEXT,Content LONGBINARY)
   //构建数据库连接,SQL语句,创建参数
   string strCnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb";
   System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(strCnString);
   String strSql = "select * from FileTable";
   System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(strSql, myConnection);
   //打开连接,执行查询
   myConnection.Open();
   System.Data.OleDb.OleDbDataReader dr = command.ExecuteReader();
   GridView1.DataSource = dr;
   GridView1.DataBind();
   myConnection.Close();
 }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
 <title></title>
</head>
<body>
 <form id="form1" runat="server">
 <asp:FileUpload ID="FileUpload1" runat="server" />
 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传文件" />
 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
   <Columns>
     <asp:HyperLinkField DataNavigateUrlFields="FileId" HeaderText="文件名" DataTextField="Title" DataNavigateUrlFormatString="~/Download.ashx?FileId={0}" />
   </Columns>
 </asp:GridView>
 </form>
</body>
</html>
//Download.ashx 文件代码
<%@ WebHandler Language="C#" Class="Download" %>
using System;
using System.Web;
public class Download : IHttpHandler
{
 public void ProcessRequest(HttpContext context)
 {
   String fileId = context.Request.QueryString["FileId"];
   if (String.IsNullOrEmpty(fileId))
   {
     context.Response.ContentType = "text/html";