解决方案 »

  1.   

    //插入数据到Northwind数据库using System;
    using System.IO;
    using System.Data;
    using System.Data.SqlClient;class BLOBDemo
    {
    static void Main(string[] args)
    {
    Add("Test","1.jpg");
    } public static void Add(string categoryName, string filePath)
    {
    FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs); byte [] photo = br.ReadBytes((int)fs.Length); br.Close();
    fs.Close(); SqlConnection cn = new SqlConnection("Data Source = (local);Integrated Security = SSPI;Initial Catalog=Northwind");
    SqlCommand cmd = new SqlCommand("INSERT INTO Categories(CategoryName, Picture) VALUES (@CategoryName, @Picture)", cn); cmd.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15).Value = categoryName;
    cmd.Parameters.Add("@Picture", SqlDbType.Image, photo.Length).Value = photo; cn.Open();
    cmd.ExecuteNonQuery();
    cn.Close();
    }
    }
      

  2.   

    存储过程中写个事务上传不成功 让他  rollback...就可以了。图片最好存地址。如果存二进制数的话,读出来最好写个 通用配置文件(***.ashx)。
      

  3.   

    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 PMS.BLL;
    using PMS.Module;
        /// <summary>
        /// UpLoad 的摘要说明。
        /// 实现多文件上传
        /// </summary>
        public partial class Upload : System.Web.UI.Page
        {
            //protected System.Web.UI.WebControls.Button UploadButton;
            //protected System.Web.UI.WebControls.Label strStatus;        private void Page_Load(object sender, System.EventArgs e)
            {
                /// 在此处放置用户代码以初始化页面
                //if (this.IsPostBack) this.SaveImages();
            }        //private Boolean SaveImages()
            //{
               
            //}
            #region Web 窗体设计器生成的代码
            override protected void OnInit(EventArgs e)
            {
                //
                // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
                //
                InitializeComponent();
                base.OnInit(e);
            }        /// <summary>
            /// 设计器支持所需的方法 - 不要使用代码编辑器修改
            /// 此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {
                this.ID = "Upload";
                this.Load += new System.EventHandler(this.Page_Load);        }
            #endregion
            protected void UploadButton_Click(object sender, EventArgs e)
            {
                ///'遍历File表单元素
                HttpFileCollection files = HttpContext.Current.Request.Files;            /// '状态信息
                System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
                strMsg.Append("上传的文件分别是:<hr color=red>");
                try
                {
                    for (int iFile = 0; iFile < files.Count; iFile++)
                    {
                        ///'检查文件扩展名字
                        HttpPostedFile postedFile = files[iFile];
                        string fileName, fileExtension;
                        fileName = System.IO.Path.GetFileName(postedFile.FileName);
                        //获取文件的路径
                        string filepath = postedFile.FileName;
                        //获取文件类型
                        string filetype = postedFile.ContentType.ToString();                    //获取大小
                        int filelength = (int)fileName.Length;
                        if (fileName != "")
                        {
                            File f = new File();
                            f.Flength = filelength;
                            f.Fname = fileName;
                            f.Ftype = filetype;
                            f.Fuser = Session["userName"].ToString();
                            FileMana fm = new FileMana();
                            if (fm.insertFile(f) == 1)
                            {
                                fileExtension = System.IO.Path.GetExtension(fileName);
                                strMsg.Append("上传的文件类型:" + filetype + "<br>");
                                strMsg.Append("客户端文件地址:" + filepath + "<br>");
                                strMsg.Append("上传文件的文件名:" + fileName + "<br>");
                                strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
                                ///'可根据扩展名字的不同保存到不同的文件夹
                                ///注意:可能要修改你的文件夹的匿名写入权限。
                                postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("~/image/") + fileName);                        }
                        }                }
                    strStatus.Text = strMsg.ToString();
                    //return true;
                }
                catch (System.Exception Ex)
                {
                    strStatus.Text = Ex.Message;
                   // return false;
                }
            }
    }前台的:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Upload.aspx.cs" Inherits="Upload" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
        <title>文件上传</title>
        <script language="JavaScript">
        function addFile()
        {
         var str = '<INPUT type="file" size="50" NAME="File">'
         document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
        }
        </script>
      </HEAD>
      <body>
        <form id="form1" method="post" runat="server" enctype="multipart/form-data">
          <div align="center">
            <h3>多文件上传</h3>
            <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
            <P>
              <input type="button" value="增加(Add)" onclick="addFile()">
              <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
              <asp:Button Runat="server" Text="开始上传" ID="UploadButton" OnClick="UploadButton_Click"></asp:Button>
            </P>
            <P>
            <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt" 
              Width="500px" BorderStyle="None" BorderColor="White"></asp:Label>
            </P> 
          </div>
        </form>
      </body>
    </HTML>这个例子是模仿qq空间上传照片的模式写的,仅供参考!