用asp.net实现将上传的图片存入数据库!
2007-02-06 10:06
691 查看
Public Class changimageClass changimage
Inherits System.Web.UI.Page
Protected WithEvents cmddemo As System.Web.UI.WebControls.Button
Protected WithEvents cmdupload As System.Web.UI.WebControls.Button
Protected WithEvents SqlConn As System.Data.SqlClient.SqlConnection
Protected WithEvents SqlComm As System.Data.SqlClient.SqlCommand
Protected WithEvents File1 As System.Web.UI.HtmlControls.HtmlInputFile
Web Form Designer Generated Code#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
Me.SqlConn = New System.Data.SqlClient.SqlConnection()
Me.SqlComm = New System.Data.SqlClient.SqlCommand()
End Sub
Private Sub Page_Init()Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
Form Designer
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load()Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub cmdupload_Click()Sub cmdupload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdupload.Click
Dim image As System.Drawing.Image, newimage As System.Drawing.Image
Dim callb As System.Drawing.Image.GetThumbnailImageAbort
Dim f As System.IO.File, fs As System.IO.FileStream
Dim temppath As String
Dim bigdata As Byte(), smalldata As Byte() '大图片数据、小图片数据
Dim pic As System.Data.SqlClient.SqlParameter, picsmall As System.Data.SqlClient.SqlParameter
'检察上传文件是否合标准,check函数是我根据网站需要写的了
If check(File1.PostedFile.FileName) <> "ok" Then
Response.Write(check(File1.PostedFile.FileName))
Exit Sub
End If
'设置临时路径,为了防止多用户访问时的冲突,设了一个application对象
If Application("image") = "" Then
Application("image") = 0
End If
Application.Lock()
temppath = Server.MapPath(CStr(Application("image"))) '临时路径
Application("image") = Application("image") + 1
Application.UnLock()
'读取图片的数据
ReDim bigdata((Me.File1.PostedFile.InputStream.Length)
Me.File1.PostedFile.InputStream.Read(bigdata, 0, UBound(bigdata)) '将原图片数据读到bigdata中
'改变图片的大小
image = System.Drawing.Image.FromStream(Me.File1.PostedFile.InputStream)
'newimage里面的size也可另外设置,我只用了80*60和60*80两种
If image.Width > image.Height Then
newimage = image.GetThumbnailImage(80, 60, callb, New System.IntPtr(0))
Else
newimage = image.GetThumbnailImage(60, 80, callb, New System.IntPtr(0))
End If
image.Dispose()
'将新图片及图片变小后存到临时路径中
newimage.Save(temppath, System.Drawing.Imaging.ImageFormat.Jpeg)
newimage.Dispose()
'读取临时文件数据到smalldata中
fs = New System.IO.FileStream(temppath, IO.FileMode.Open, IO.FileAccess.Read)
ReDim smalldata(fs.Length)
fs.Read(smalldata, 0, UBound(smalldata))
fs.Close()
'上述获得小图片的方法我原本想用system.io.memorystream的,可是行不通:代码如下:
'dim m as system.io.memorystream
'm=new system.io.memorystream()
'newimage.save(m,System.Drawing.Imaging.ImageFormat.Jpeg)
'redim smalldata(m.length)
'm.read(smalldata,0,m.length)
'可是上述方法读出来的smalldata全是空的,不知道原因,请指教
'删除临时文件
If f.Exists(temppath) Then
f.Delete(temppath)
End If
'将数据加入数据库中
'由于数据库中有image字段,我用sql插不进去,就用一个存储过程
'请教各位大虾用sql语句插入有image字段的表该怎么写
'用insert into talbe(pic,picsmall) values("&bigdata&","&smalldata&")这样不行,用'"&bigdata&"'也不行呀!
SqlConn = New System.Data.SqlClient.SqlConnection(connstr) '可自己设置connstr连接数据库服务器
SqlComm = New System.Data.SqlClient.SqlCommand()
SqlComm.CommandType = CommandType.StoredProcedure
SqlComm.CommandText = "dbo.image"
pic = New System.Data.SqlClient.SqlParameter("@pic", SqlDbType.Image)
pic.Value = bigdata
picsmall = New System.Data.SqlClient.SqlParameter("@picsmall", SqlDbType.Image)
picsmall.Value = smalldata
SqlComm.Parameters.Add(pic)
SqlComm.Parameters.Add(picsmall)
SqlComm.Connection = SqlConn
SqlComm.Connection.Open()
SqlComm.ExecuteNonQuery()
SqlComm.Connection.Close()
SqlComm.Dispose()
SqlConn.Dispose()
End Sub
End Class
相关文章推荐
- 用asp.net实现将上传的图片变小存入数据库
- 用asp.net实现将上传的图片变小存入数据库!(暑假里就开始想做的,很兴奋了)
- 用asp.net实现将上传的图片变小存入数据库
- 用asp.net实现将上传的图片变小存入数据库!(暑假里就开始想做的,很兴奋了)
- 用asp.net实现将上传的图片变小存入数据库
- 用纯ASP代码实现图片上传并存入数据库中
- 在ASP.Net 中实现将图片存入数据库
- ASP.NET实现图片以二进制的形式存入数据库
- ASP.Net 图片存入数据库的实现代码
- ASP.Net 图片存入数据库的实现代码
- asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来
- 用纯ASP代码实现图片上传并存入数据库中
- ASP.NET实现图片以二进制的形式存入数据库
- 用纯ASP代码实现图片上传并存入数据库中
- 用纯ASP代码实现图片上传并存入数据库中
- asp.net中上传图片文件实现防伪图片水印并写入数据库
- 实现ASP.NET数据库图片上传与读取的功能
- 在一个ASP.Net页中实现上传照片并存入数据库,上传后显示所上传的照片
- 基于asp.net实现图片在线上传并在线裁剪功能