计算并限制使用VB.NET上载的文件数
我想从用户输入5个图像,显示缩略图并将它们保存到SQL数据库中的5列(image1、image2、image3、image4、image5) 请为这5个文件添加sql插入代码 请帮帮我计算并限制使用VB.NET上载的文件数,.net,vb.net,visual-studio-2013,image-uploading,sql-server-2014,.net,Vb.net,Visual Studio 2013,Image Uploading,Sql Server 2014,我想从用户输入5个图像,显示缩略图并将它们保存到SQL数据库中的5列(image1、image2、image3、image4、image5) 请为这5个文件添加sql插入代码 请帮帮我 Private Sub BrowseMultipleFilesButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BrowseMultipleFilesButton.Clic
Private Sub BrowseMultipleFilesButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BrowseMultipleFilesButton.Click
Dim OpenFileDialog1 As New OpenFileDialog
OpenFileDialog1.Filter =
"Images (*.BMP;*.JPG;*.GIF,*.PNG,*.TIFF)|*.BMP;*.JPG;*.GIF;*.PNG;*.TIFF|" +
"All files (*.*)|*.*"
OpenFileDialog1.Multiselect = True
Dim index As New Integer
OpenFileDialog1.Title = "Select Photos"
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
For Each file As String In OpenFileDialog1.FileNames
Dim imageControl As New PictureBox()
imageControl.Height = 100
imageControl.Width = 100
Dim myCallback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
Dim myBitmap As New Bitmap(file)
Dim myThumbnail As Image = myBitmap.GetThumbnailImage(96, 96, myCallback, IntPtr.Zero)
imageControl.Image = myThumbnail
PhotoGallary.Controls.Add(imageControl)
index = OpenFileDialog1.FilterIndex()
Next
If index > 5 Then
MessageBox.Show("Please select no more than 5 files")
Else
btn_Save.Enabled = True
End If
End If
End Sub
如果只允许5个图像文件,则无需在测试文件数之前制作缩略图。由于返回字符串数组,因此在测试
对话框结果是否正常后,首先要做的是测试数组的长度:
If OpenFileDialog1.FileNames.Length > 5 Then
MessageBox.Show("Please select no more than 5 files")
Exit sub
End If
'' The rest of your code, including the row btn_Save.Enabled = True.
问题解决了
Private Sub BrowseMultipleFilesButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BrowseMultipleFilesButton.Click
Dim OpenFileDialog1 As New OpenFileDialog
OpenFileDialog1.Filter =
"Images (*.BMP;*.JPG;*.GIF,*.PNG,*.TIFF)|*.BMP;*.JPG;*.GIF;*.PNG;*.TIFF|" +
"All files (*.*)|*.*"
OpenFileDialog1.Multiselect = True
Dim index As New Integer
OpenFileDialog1.Title = "Select Photos"
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
If OpenFileDialog1.FileNames.Length > 5 Then
MessageBox.Show("Please select no more than 5 files")
Exit Sub
End If
If OpenFileDialog1.FileNames.Length < 5 Then
MessageBox.Show("Please select 5 files")
Exit Sub
End If
For Each file As String In OpenFileDialog1.FileNames
Dim imageControl As New PictureBox()
imageControl.Height = 100
imageControl.Width = 100
Dim myCallback As New Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback)
Dim myBitmap As New Bitmap(file)
Dim myThumbnail As Image = myBitmap.GetThumbnailImage(96, 96, myCallback, IntPtr.Zero)
imageControl.Image = myThumbnail
PhotoGallary.Controls.Add(imageControl)
index = OpenFileDialog1.FilterIndex()
Next
btn_Save.Enabled = True
BrowseMultipleFilesButton.Enabled = False
End If
End Sub
Private子浏览器multiplefiles按钮\u单击(以System.Object的形式显示发件人)_
ByVal e As System.EventArgs)处理浏览多个文件按钮。单击
将OpenFileDialog1变暗为新OpenFileDialog
OpenFileDialog1.Filter=
“图像(*.BMP;*.JPG;*.GIF,*.PNG,*.TIFF)|*.BMP;*.JPG;*.GIF;*.PNG;*.TIFF |”+
“所有文件(*.*)|*.*”
OpenFileDialog1.Multiselect=True
将索引设置为新整数
OpenFileDialog1.Title=“选择照片”
如果OpenFileDialog1.ShowDialog()=DialogResult.OK,则
如果OpenFileDialog1.FileNames.Length>5,则
MessageBox.Show(“请选择不超过5个文件”)
出口接头
如果结束
如果OpenFileDialog1.FileNames.Length<5,则
MessageBox.Show(“请选择5个文件”)
出口接头
如果结束
在OpenFileDialog1.FileNames中将每个文件作为字符串
Dim imageControl作为新的PictureBox()
图像控制。高度=100
图像控制。宽度=100
Dim myCallback作为新映像。GetThumbnailImageAbort(ThumbnailCallback的地址)
将myBitmap变暗为新位图(文件)
Dim myThumbnail As Image=myBitmap.GetThumbnailImage(96,96,myCallback,IntPtr.Zero)
imageControl.Image=myThumbnail
PhotoGallary.Controls.Add(图像控件)
index=OpenFileDialog1.FilterIndex()
下一个
btn_Save.Enabled=真
BrowseMultipleFilesButton.Enabled=False
如果结束
端接头
请您对您遇到的问题再多加一点描述,好吗?问题是,代码并没有限制我上传5个以上的文件。非常感谢……它很有效!但是我必须展示用户上传的图片,同时告诉我如何将这5张图片保存在sql数据库的5列中。我想你的问题是如何限制图片的数量。将它们保存到sql server是另一个共同的主题,您可能会在google上找到很好的解决方案。耶!这样做,但如果我插入更多的5幅图像,它会在galley中显示10幅图像…我们只能拍摄5幅图像来保存添加PhotoGallary.Controls.Clear()
到保存图像的方法中。这将在每次保存后删除Gallary中的所有图像。为什么不在一个条件下检查长度是否与5不同?耶!我们也可以这样做。