我想利用postfile控件实现文件上传功能,同时根据上传文件的格式确定图片信存入数据库(与上传文件信息报存在同一个数据库)例如*.doc文件就向数据库传送word.gif(图片文件,保存为二进制或是image数据类型)请问:如何确定文件的格式?怎么样想数据库传送图片?要用image控件吗?最好有.aspx和aspx.cs代码。谢谢在线等!!!

解决方案 »

  1.   

    //把图片读到pictureBox,再写入数据库SqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
    conn.Open();
    SqlCommand cmd=new SqlCommand("insert into fuser values ('1a','1b',@i)",conn);
    byte[] ib=new Byte[60000];
    FileStream fs=new FileStream(@"D:\windows temp\temp\1.jpg",FileMode.Open ,FileAccess.Read );
    fs.Read(ib,0,60000);
    cmd.Parameters.Add("@i",SqlDbType.Image,(int)fs.Length);
    cmd.Parameters["@i"].Value=ib;
    cmd.ExecuteNonQuery();
    conn.Close();-------------------------------------------------------
    //从数据库读图片到pictureboxSqlConnection conn=new SqlConnection(@"data source=chenyuming2004\VSdotNET;uid=sa;pwd=cym;database=lhf");
    conn.Open();
    SqlCommand cmd=new SqlCommand("select 照片 from fuser where password='1b'",conn);
    SqlDataReader reader=cmd.ExecuteReader();
    reader.Read();
    MemoryStream buf=new MemoryStream((byte[])reader[0]);
    Image image=Image.FromStream(buf,true);
    pictureBox1.Image=image;
      

  2.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=EY1XLDYV-PIDF-43LO-1WFL-FMY5ALE1F635
      

  3.   

    Dim Length As Integer = FileToUpload.PostedFile.InputStream.Length
    Dim ContentType As String = FileToUpload.PostedFile.ContentType
      

  4.   

    得到文件类型 然后可以根据MIME判断文件类型确定图片
      

  5.   

    实现呈现流格式图像的图像控件
    http://www.csharpproject.com/articles/aspnet/images_multimedia/SimImage.aspx
      

  6.   

    我也在用这种方法,我已经成功的拿到图像的二进制数据了,存在一个byte[]类型的数组中,可是尝试了所有的向数据库中存储数据的办法,存进去的始终是空值,郁闷死啦。
      

  7.   

    我的一段程序:dim Temp() as String=Split(File1.PostedFile.FileName,"\")
       dim FileName as String=Temp(Temp.Length-1)
       dim filename1 as string=left(filename,len(filename)-4)
       dim kz as string=right(filename,3)
      ''''''''''''''''''''''''''''''''''''''''''转成数据流,写入数据库
       dim filesize as int64
       dim filetype1 as string
       dim filestream as system.io.stream
       filesize=File1.PostedFile.ContentLength
       filetype1=File1.PostedFile.Contenttype
       filestream=File1.PostedFile.inputstream
       dim filecontent(filesize) as byte
       dim intstatus as integer
       intstatus=filestream.read(filecontent,0,filesize)............. 写入数据库
     dim xrstring as string ="insert into yqjtest(id,name,nr,kzm,filetype,ssdw,bz) values(@id,@name,@nr,@kzm,@filetype,@ssdw,@bz)"
        dim sqlcom as new sqlcommand(xrstring)
        sqlcom.Connection=sqlcon
        'sqlcom.commandtype=commandtype.text
        
        dim paramid as new SqlParameter("@id",SqlDbType.int)
        paramid.value=maxid
        sqlcom.Parameters.Add(paramid)
        
        dim paramname as new SqlParameter("@name", SqlDbType.varchar,50)
        paramname.value=filename1
        sqlcom.Parameters.Add(paramname)
        
        dim paramnr as new SqlParameter("@nr", SqlDbType.image)
        paramnr.value=filecontent
        sqlcom.Parameters.Add(paramnr)
        
        dim paramkzm as new SqlParameter("@kzm", SqlDbType.varchar,5)
        paramkzm.value=kz
        'filetype
        sqlcom.Parameters.Add(paramkzm)
        
        dim paramtype as new SqlParameter("@filetype", SqlDbType.varchar,50)
        paramtype.value=filetype1
        sqlcom.Parameters.Add(paramtype)
        
        dim paramdw as new SqlParameter("@ssdw", SqlDbType.varchar,50)
        paramdw.value=session("dw")
        sqlcom.Parameters.Add(paramdw)
        
        dim parambz as new SqlParameter("@bz", SqlDbType.varchar,100)
        parambz.value=trim(TextBox1.text)
        'filetype
        sqlcom.Parameters.Add(parambz)
        
        sqlcom.executeNonquery()
        sqlcon.close()