我用的是FILEUPLOAD 控件。想实现的是。点了确定后。根据上传的路径。把 文件读出来写到一个字符串。然后放到数据库的以个字段里。谁帮忙提供个代码谢谢啊

解决方案 »

  1.   

    //圖片上傳
            string picName = "";
            if (uploadpic.Value.Length != 0)
            {
                picName = System.IO.Path.GetFileName(uploadpic.PostedFile.FileName);
            }
            string picExt = "";
            if (picName.Length > 0) 
            {
                picExt = picName.Substring(picName.Length - 4, 4);
            }
            string picSavePath = "..\\AtthFiles\\News\\";
            string picPath = System.Web.HttpContext.Current.Request.MapPath(picSavePath) + "news_picture_" + maxid + picExt;
            string PathDB_pic;这是我的上传图片的 (文件一样), 理解应该没问题吧!  uploadpic是我的fileupload控件
      

  2.   

    uploadpic.PostedFile.SaveAs(picPath);
    漏了一点点不好意思!
      

  3.   

    <%@ Import Namespace="System.IO" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <script language="VB" runat="server">
    Sub Enter_Click(sender As Object, e As EventArgs)
    '只有客户提交了文件和文件说明才继续执行
    If uploadfile.PostedFile.FileName<>"" And Intro.Text<>"" Then
    '第一步:获取上传的文件的各种信息,以备后面使用***********************
    '下面变量分别表示文件的名称,文件MIME类型,和文件说明和文件大小
    Dim filename,fileContentType,fileintro As String
    Dim filesize as Long
    'Path.GetFileName方法可以从任何一个路径字符串中获取文件名称
    filename= Path.GetFileName(uploadfile.PostedFile.FileName)    
    filesize=uploadfile.PostedFile.ContentLength
    fileContentType=uploadfile.PostedFile.ContentType
    fileintro=intro.Text '第二步:利用Stream对象将上传的文件保存到二进制数组中*******************
    Dim buffer(filesize) As Byte '建立一个和文件大小一致的二进制数组
    Dim objStream As Stream '定义一个Stream对象变量
    objStream=uploadfile.PostedFile.InputStream '读取上传文件到Stream对象中
    objStream.Read(buffer,0,filesize) '读取整个文件到buffer数租中
    '第三步:将二进制数组中的数据保存到数据库中********************************
    Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("temp.mdb"))
    Dim cmd As New OleDbCommand("Insert Into uploadfile(filename,filesize,filebody,fileintro,fileContentType,submit_date) Values(@filename,@filesize,@filebody,@fileintro,@fileContentType,@Submit_Date)", conn)
    '给参数赋值
    cmd.Parameters.Add(New OleDbParameter("@filename", OleDbType.Char,50))
    cmd.Parameters("@filename").Value=filename
    cmd.Parameters.Add(New OleDbParameter("@filesize", OleDbType.Integer))
    cmd.Parameters("@filesize").Value=filesize
    cmd.Parameters.Add(New OleDbParameter("@filebody", OleDbType.Binary))
    cmd.Parameters("@filebody").Value=Buffer '这里是保存文件内容的二进制数组
    cmd.Parameters.Add(New OleDbParameter("@fileintro", OleDbType.Char,250))
    cmd.Parameters("@fileintro").Value=fileintro
    cmd.Parameters.Add(New OleDbParameter("@fileContentType", OleDbType.Char,50))
    cmd.Parameters("@fileContentType").Value=fileContentType
    cmd.Parameters.Add(New OleDbParameter("@submit_date", OleDbType.Date))
    cmd.Parameters("@submit_date").Value=Now()
    '执行操作,插入记录
    conn.open()                             
    cmd.ExecuteNonQuery()
    conn.close()                             '下面可以重定向回首页
    Response.Redirect("index.aspx")
    End If
    End Sub
    </script>
    <html>
    <body>
        <h4 align="center">上传文件到数据库</h4>
        <form enctype="multipart/form-data" runat="server">
            选择文件:<input id="uploadfile" type="file" runat="server">
            <br>文件说明:<asp:textbox id="intro" runat="server"/>
            <br><asp:Button id="enter" Text="提交" OnClick="Enter_Click" runat="server"/>
        </form>
    </body>
    </html>
      

  4.   

    首先你的数据库字段必须是大文本字段(blob等类型);
    然后
     if (uploadpic.Value.Length != 0)
    {
    Stream Stream_ZP = uploadpic.InputStream;
    Byte[] Input_ZP= new Byte[uploadpic.Value.Length];
    Stream_ZP.Read(Input_ZP, 0, uploadpic.Value.Length);
    }
    将Input_ZP存入该字段