向SQL Server数据库添加图片
下面的代码实现向SQL Server数据库添加图片和文字的功能。首先,在SQL查询分析器中执行下面的语句,以创建表和存储过程。Drop Table PersonGo
Create Table Person
(
PersonID Int Identity,
PersonEmail Varchar(255),
PersonName Varchar(255),
PersonSex Char(1),
PersonDOB DateTime,
PersonImage Image,
PersonImageType Varchar(255)
)Drop Proc sp_person_ispGo
Create Proc sp_person_isp
@PersonEmail Varchar(255),
@PersonName Varchar(255),
@PersonSex Char(1),
@PersonDOB DateTime,
@PersonImage Image,
@PersonImageType Varchar(255)
As
Begin
  Insert into Person 
   (PersonEmail, PersonName, PersonSex, 
   PersonDOB, PersonImage, PersonImageType)
   Values
   (@PersonEmail, @PersonName, @PersonSex, 
   @PersonDOB, @PersonImage, @PersonImageType)
EndGo下面就是完整的代码,拷贝即可运行:<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<%@ Page Language="vb" %>
<HTML>
<HEAD>
<title>向SQL Server插入图片</title>
<script runat="server">
Public Sub AddPerson(sender As Object, e As EventArgs)
  Dim intImageSize As Int64
  Dim strImageType As String
  Dim ImageStream As Stream
  ' 获得图片的大小
  intImageSize = PersonImage.PostedFile.ContentLength
  ' 获得图片类型
  strImageType = PersonImage.PostedFile.ContentType
  '读取图片
  ImageStream = PersonImage.PostedFile.InputStream
  Dim ImageContent(intImageSize) As Byte
  Dim intStatus As Integer
  intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
  ' 创建Connection和Command对象
  Dim strCnn As String = "Data Source=.;Initial Catalog=mxh;User Id=sa;Password=;"
  Dim myConnection As New SqlConnection(strCnn)
  Dim myCommand As New SqlCommand("sp_person_isp", myConnection)
  ' 使用存储过程
  myCommand.CommandType = CommandType.StoredProcedure
  ' 向存储过程添加参数
  Dim prmEmail As New SqlParameter("@PersonEmail", SqlDbType.VarChar, 255)
  prmEmail.Value = txtPersonEmail.Text
  myCommand.Parameters.Add(prmEmail)  Dim prmName As New SqlParameter("@PersonName", SqlDbType.VarChar, 255)
  prmName.Value = txtPersonName.Text
  myCommand.Parameters.Add(prmName)
  Dim prmSex As New SqlParameter("@PersonSex", SqlDbType.Char, 1)  If sexMale.Checked Then
  prmSex.Value = "M"
  Else
  prmSex.Value = "F"
  End If
  myCommand.Parameters.Add(prmSex)
  
  Dim prmPersonDOB As New SqlParameter("@PersonDOB", SqlDbType.DateTime)
  prmPersonDOB.Value = txtPersonDob.Text
  myCommand.Parameters.Add(prmPersonDOB)  Dim prmPersonImage As New SqlParameter("@PersonImage", SqlDbType.Image)
  prmPersonImage.Value = ImageContent
  myCommand.Parameters.Add(prmPersonImage)  Dim prmPersonImageType As New SqlParameter("@PersonImageType", SqlDbType.VarChar, 255)
  prmPersonImageType.Value = strImageType
  myCommand.Parameters.Add(prmPersonImageType)  Try
  myConnection.Open()
  myCommand.ExecuteNonQuery()
  myConnection.Close()
  Response.Write("添加成功!")
    Catch SQLexc As SqlException
    Response.Write("添加失败,原因:" & SQLexc.ToString())
  End Try
End Sub
</script>
</HEAD>
<body style="FONT: 9pt 宋体">
    <form enctype="multipart/form-data" runat="server" ID="Form1">
      <asp:Table Runat="server" Width="50%" BorderWidth="1" BackColor="Beige" ID="Table1"
 Font-Name="宋体" Font-Size="9pt">
        <asp:TableRow>
          <asp:TableCell ColumnSpan="2" BackColor="#ff0000">
            <asp:Label ForeColor="#ffffff" font-bold="True" Runat="server" Text="添加新用户" ID="Label1" />
          </asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
          <asp:TableCell HorizontalAlign="Right">
            <asp:Label Runat="server" Text="姓名" ID="Label2" />
          </asp:TableCell>
          <asp:TableCell>
            <asp:TextBox id="txtPersonName" Runat="server" />
          </asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
          <asp:TableCell HorizontalAlign="Right">
            <asp:Label Runat="server" Text="电子邮件" ID="Label3" />
          </asp:TableCell>
          <asp:TableCell>
            <asp:TextBox id="txtPersonEmail" Runat="server" />
          </asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
          <asp:TableCell HorizontalAlign="Right">
            <asp:Label Runat="server" Text="性别" ID="Label4"/>
          </asp:TableCell>
          <asp:TableCell>
            <asp:RadioButton GroupName="sex"  Text="男" ID="sexMale" Runat="server" />
            <asp:RadioButton GroupName="sex"  Text="女" ID="sexFeMale" Runat="server" />
          </asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
          <asp:TableCell HorizontalAlign="Right">
            <asp:Label Runat="server" Text="出生日期" ID="Label5"/>
          </asp:TableCell>
          <asp:TableCell>
            <asp:TextBox id="txtPersonDOB" Runat="server" />
          </asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
          <asp:TableCell HorizontalAlign="Right">
            <asp:Label Runat="server" Text="照片" ID="Label6"/>
          </asp:TableCell>
          <asp:TableCell>
            <input type="file" id="PersonImage" runat="server" NAME="PersonImage" /></asp:TableCell>
        </asp:TableRow>
        <asp:TableRow>
          <asp:TableCell ColumnSpan="2" HorizontalAlign="Center">
            <asp:Button Text=" 添  加 " OnClick="AddPerson" Runat="server" ID="Button1"/>
          </asp:TableCell>
        </asp:TableRow>
      </asp:Table>
    </form>
</body>
</HTML>

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2245/2245174.xml?temp=3.387088E-02
      

  2.   

    看看
    http://xml.sz.luohuedu.net/xml/
      

  3.   

    我写了个,要的发邮件。[email protected]
      

  4.   

    http://www.codeproject.com/useritems/simpleuploadimage.asp
      

  5.   

    <script language="VB" runat="server">
    Sub UploadFile(sender As Object, e As EventArgs)If FileUp.PostedFile.ContentLength = 0 Then
    FileInfo.Visible = False
    Exit Sub
    Else
    FileInfo.Visible = True
    FDisplay1.Visible = True
    End IfFSize.Text ="上传文件大小"+ CStr(FileUp.PostedFile.ContentLength/1024)+"KB"
    FName.Text = "已上传文件名:"+FileUp.PostedFile.FileName+"<br>"+FName.Text'写入数据库
    on error resume next
    dim myconn as sqlconnection
    dim mycomm as sqlcommand
    dim sql as string
    dim id as integer
    Dim image,anewimage As System.Drawing.Image
    dim width,height,newwidth,newheight as integer
    Dim callb As System.Drawing.Image.GetThumbnailImageAbort
    myConn=New sqlconnection(ConfigurationSettings.AppSettings("数据库"))
    myconn.open()
    sql="insert into picture (姓名,班级,介绍,属性) values ('"&request.cookies("dgxyl").values("dgxylname")&"','"&request.cookies("dgxyl").values("dgxylbj")&"','"&trim(request("TextBox1"))&"','"&request("r1")&"')"
    Mycomm=New sqlcommand(sql,myconn)
    mycomm.executenonquery()
    myconn.close()Dim myCommand As New SqlCommand("select top 1 id from picture order by id desc", myConn)
    myCommand.Connection.Open()
    Dim myReader As SqlDataReader=mycommand.executereader()
    if myReader.Read() then
    id=myReader("id")
    end if
    myconn.close()
    '保存图片
    FileUp.PostedFile.SaveAs( Server.MapPath("\classpic\")&cstr(id)&".jpg" )
    '生成缩略图
    image=System.Drawing.Image.FromFile(Server.MapPath("/classpic/"+cstr(id)+".jpg"))
    width=image.Width
    height=image.height
    if width>height then
    newwidth=250
    newheight=image.height/image.Width*newwidth
    else
    newheight=250
    newwidth=image.Width/image.height*newheight
    end if
    response.write("id="+cstr(id)+"width="+cstr(Width)+";height="+cstr(height)+"  ")
    response.write("newwidth="+cstr(newwidth)+";newheight="+cstr(newheight)+"<br>")aNewImage=image.GetThumbnailImage(newwidth,newheight,callb,new System.IntPtr())
    aNewImage.Save(Server.MapPath("/smallpic/"+cstr(id)+".jpg"))
    image.Dispose()
    Dim FileSplit() As String = Split( FileUp.PostedFile.FileName, "\" )
    Dim FileName As String = FileSplit(FileSplit.Length-1)
    Dim Exts() As String = Split( FileName, "." )
    Dim Ext As String = LCase(Exts(Exts.Length-1))FDisplay.Text = "<A Target='_blank' HREF='/classpic/"&cstr(id)&".jpg"& "'>查看上传文件</A>"
    FDisplay1.text="<a href='/picture/default.asp?bj="&cstr(request.cookies("dgxyl").values("dgxylbj"))&"'>返回</a>"
    End Sub
    </script>
      

  6.   

    <SCRIPT language=JavaScript>
    <!--
    var requestsubmitted=false;
    function guestbook_Validator(theForm)
    {
    //检查是否从新提交
    if (requestsubmitted==true){
      alert("你已经提交了留言,请等待服务器应答!");
      return(false);
     }
    requestsubmitted=true;return (true);
    }
    //-->
    </SCRIPT>
    <Html>
    <Body BgColor=White>
    <H3 align="center">请正确填写下面各项</h3>
    <Hr></H3>
    <Div id="FileInfo" Visible="False" runat="server">
     <Asp:Label id="FSize" runat="server"/><br>
     <Asp:Label id="FName" runat="server"/><br>
    <Asp:Label id="FDisplay" runat="server"/>
     <Asp:Label id="FDisplay1" runat="server"/>
    </Div>
    <Form Enctype="multipart/form-data" onsubmit="return guestbook_Validator(this)" runat="server">
    上传文件
    <Input Type="File" id="FileUp" runat="server" size="20"><br>
    图片属性:<input type="radio" value="<%=request.cookies("dgxyl").values("dgxylbj")%>" name="R1" checked>本班<input type="radio" value="全校" name="R1">全校(本班则只在本班显示,全校则在全校显示)<P>
    图片说明:<br>
    <asp:TextBox id="TextBox1" runat="server" Width="233px" Height="141px">
    </asp:TextBox>
            <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="请输入图片说明">
    </asp:RequiredFieldValidator><br>
    <Asp:button id="Upload" OnClick="UploadFile" Text="上传图片" runat="server"/>
    </form>
    <Hr>
    <p>注意:</p>
    <ol>
      <li><b>严禁上传污染环境的照片,否则账号将被删除!</b></li>
      <li><font color="#808000"><b>请详细填写照片说明,图片说明不详细将会被视为乱传图片,将会被删除!</b></font></li>
    </ol>
    <p> </p></Body>
    </Html>
      

  7.   

    http://search.csdn.net/expert/topic/52/5202/2002/10/24/1120593.htm