【发布时间】:2017-03-04 15:16:49
【问题描述】:
美好的一天堆栈溢出,
我正在尝试将图片保存在我的 mysql 数据库中,我想我会使用 BLOB 对吗?
我打算更新我已经在线托管的mysql数据库,以支持在我的vb.net项目中上传和显示图片,
我知道在 mysql 数据库中保存图片的最简单方法是将图片保存在目录中并将路径仅放在数据库中,但是对于托管在 Internet 上且没有工作的在线数据库呢?目录?我的意思是数据库本身?
如何优化图片加载的时间访问?
【问题讨论】:
美好的一天堆栈溢出,
我正在尝试将图片保存在我的 mysql 数据库中,我想我会使用 BLOB 对吗?
我打算更新我已经在线托管的mysql数据库,以支持在我的vb.net项目中上传和显示图片,
我知道在 mysql 数据库中保存图片的最简单方法是将图片保存在目录中并将路径仅放在数据库中,但是对于托管在 Internet 上且没有工作的在线数据库呢?目录?我的意思是数据库本身?
如何优化图片加载的时间访问?
【问题讨论】:
Protected Sub UpLoadThisFile(ByVal upload As FileUpload)
If UpL1.HasFile Then
Dim fileName As String = Path.GetFileName(UpL1.PostedFile.FileName)
UpL1.PostedFile.SaveAs(Server.MapPath("~/AltImg2/") + fileName)
UpImag.ImageUrl = ("~/AltImg2/") + fileName
T8.Text = ("~/AltImg2/") + fileName
Else
T8.Text = "~/NOPic/noimage.jpg"
End If
End Sub
Protected Sub CheckImag()
If UpL1.HasFile Then
Dim ValidatFileTy As String() = {"bmb", "gif", "png", "jpg", "jpeg"}
Dim Ext As String = System.IO.Path.GetExtension(UpL1.PostedFile.FileName)
Dim isValidFile As Boolean = False
For i As Integer = 0 To ValidatFileTy.Length - 1
If Ext = "." & ValidatFileTy(i) Then
isValidFile = True
End If
Next
If Not isValidFile Then
MsgLbl.Visible = True
MsgLbl.ForeColor = Drawing.Color.Red
MsgLbl.Text = String.Join(",", ValidatFileTy)
Exit Sub
Else
UpLoadThisFile(UpL1)
End If
Else
UpLoadThisFile(UpL1)
End If
End Sub
在按钮中
Protected Sub BTAddNew_Click(sender As Object, e As EventArgs) Handles BTAddNew.Click
Try
CheckImag()
Insert()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
但是对于托管在互联网上并且没有工作目录的在线数据库呢? 是的,你必须使用 ~ ("~/AltImg2/")。
【讨论】: