利用图片生缩略图后是否应该将什么给释放掉,不然原图片删除不掉,究竟应该如何释放原图片,给端代码吧!
image = System.Drawing.Image.FromFile(Server.MapPath("") & "\photo1\" & b) 'b中记录有图片 的名称
newimage = image.GetThumbnailImage(232, 232, callb, New System.IntPtr) '生成缩略图
image = System.Drawing.Image.FromFile(Server.MapPath("") & "\photo1\" & b) 'b中记录有图片 的名称
newimage = image.GetThumbnailImage(232, 232, callb, New System.IntPtr) '生成缩略图
解决方案 »
- 十分奇怪:vs中调试时重定向正确,iis中通过本机IP地址访问却无法打开
- [ALL]讨论帖:用过JQuery或者自己手写过Ajax的大牛进!
- 高手过来,有项目做。
- JavaScript和正则表达式 在线等。。。。
- 棘手的问题
- 有没有.net的新闻系统的程序呀?
- DataGrid编缉功能问题
- 大家好。请问哪里有创建安装程序的资料呢?我没有分了。不要嫌弃啊!
- 如何在C#中建立XML文件时先生成:<?xml version="1.0" encoding="utf-8" ?>
- 在Datagrid中的LinkButton要点击两次才能正常的触发Item_Command 事件!Why!!请iycer等高手帮帮我!!(我只有这点分了,请不要嫌弃!
- 输入网址,取出网址对应页面的title.
- 如何用DataList来获取绑定一个文件夹下的所有图片...
newimage.Dispose();
源程序是这样的:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String = Trim(Request.QueryString("ID").ToString()) '传递的record_id If Page.IsPostBack = False Then
Dim callb As System.Drawing.Image.GetThumbnailImageAbort
Dim newimage As System.Drawing.Image
Dim image As System.Drawing.Image Try
Dim mpath As String
Dim b As String
Dim mydataset2 As New DataSet
Dim myconnection As SqlClient.SqlConnection
myconnection = connect2sqlserver()
Dim mydataadapter2 As SqlClient.SqlDataAdapter
Dim strsql2 As String = "select photo1 from photo_tab where record_id='" & a & "'"
mydataadapter2 = New SqlClient.SqlDataAdapter(strsql2, myconnection)
mydataset2.Clear()
mydataadapter2.Fill(mydataset2)
If IsDBNull(CStr(mydataset2.Tables(0).Rows(0).Item(0))) = False And Trim(CStr(mydataset2.Tables(0).Rows(0).Item(0))) <> "" Then
b = Trim(CStr(mydataset2.Tables(0).Rows(0).Item(0)))
image = System.Drawing.Image.FromFile(Server.MapPath("") & "\photo1\" & b)
newimage = image.GetThumbnailImage(232, 232, callb, New System.IntPtr)
'建立署虚拟路径,以正确显示缩略图
mpath = Server.MapPath("uppicture")
newimage.Save(Server.MapPath("uppicture\" & b)) '保存缩略图
Image1.ImageUrl = "uppicture/" + b
End If
image.Dispose()
newimage.Dispose()
Catch ex As Exception
End Try
End If
End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Try Dim a As Date
a = Now
Dim myconnection As SqlClient.SqlConnection
myconnection = connect2sqlserver()
myconnection.Open()
Dim mycommand As New SqlClient.SqlCommand
mycommand.Connection = myconnection
Dim myReader As SqlClient.SqlDataReader
Dim filepath, fileclass As String Dim strsql1 As String
Dim mydataadapter As SqlClient.SqlDataAdapter
Dim mydataset As New DataSet
'覆盖旧的图片
'先将新图片更新注册进数据库
strsql1 = "SELECT photo1,photo2,photo3,photo4 FROM photo_tab WHERE record_id='" + Trim(Request.QueryString("ID").ToString()) + "'"
mydataadapter = New SqlClient.SqlDataAdapter(strsql1, myconnection)
mydataset.Clear()
mydataadapter.Fill(mydataset) If File1.PostedFile.FileName.Trim.Equals("") = False Then
strsql1 = "UPDATE photo_tab SET record_date='" & a & "',photo1='" + Path.GetFileName(File1.PostedFile.FileName) + "' WHERE record_id='" + Trim(Request.QueryString("ID").ToString()) + "'"
mycommand.CommandText = strsql1
mycommand.ExecuteNonQuery()
'不管原来有无图片,先删除掉原图片,再加入新图片
Dim p As IO.File'执行到这一句出错:“进程无法访问该文件,该文件正被另一个进程访问” p.Delete(Server.MapPath("") + "\photo1\" + Trim(mydataset.Tables(0).Rows(0).Item(0)))
Dim aaa As String = Path.GetFileName(File1.PostedFile.FileName).Substring(0, Path.GetFileName(File1.PostedFile.FileName).Length - 4)
fileclass = Mid(File1.PostedFile.FileName, InStrRev(File1.PostedFile.FileName, "."), Len(File1.PostedFile.FileName))
filepath = Server.MapPath("") + "\photo1\" + aaa + fileclass
File1.PostedFile.SaveAs(filepath)
End If '刷新缩略图片
Dim callb As System.Drawing.Image.GetThumbnailImageAbort
Dim newimage As System.Drawing.Image
Dim image As System.Drawing.Image Dim mpath As String
Dim b As String
Dim mydataset2 As New DataSet Dim mydataadapter2 As SqlClient.SqlDataAdapter
Dim strsql2 As String = "select photo1 from photo_tab where record_id='" & Trim(Request.QueryString("ID").ToString()) & "'"
mydataadapter2 = New SqlClient.SqlDataAdapter(strsql2, myconnection)
mydataset2.Clear()
mydataadapter2.Fill(mydataset2)
If IsDBNull(CStr(mydataset2.Tables(0).Rows(0).Item(0))) = False And Trim(CStr(mydataset2.Tables(0).Rows(0).Item(0))) <> "" Then
b = Trim(CStr(mydataset2.Tables(0).Rows(0).Item(0)))
image = System.Drawing.Image.FromFile(Server.MapPath("") & "\photo1\" & b)
newimage.Save(Server.MapPath("uppicture\" & b)) '保存缩略图
Image1.ImageUrl = "uppicture/" + b
End If image.Dispose()
newimage.Dispose() Label1.Text = "更新覆盖成功!"
Catch ex As Exception
Label1.Text = "更新覆盖失败!"
End Try
End Sub