【问题标题】:saving multiple image to local folder using its default filename in vb.net使用 vb.net 中的默认文件名将多个图像保存到本地文件夹
【发布时间】:2015-01-13 03:26:22
【问题描述】:

我试图在 vb 中一次性将多个图像保存到本地文件夹。现在,我可以一次将一张图像保存到指定的文件夹。在我的代码中,我为上传时使用的图像设置了一个文件名。我需要的是用它的原始文件名和文件类型保存图像。我的程序还应该允许用户一次保存多个图像。

我正在使用 VB 2013 Ultimate

这是搜索代码。

 Try
            a.Filter = "Image files | *.*"
            If a.ShowDialog() = Windows.Forms.DialogResult.OK Then
                PictureBox1.Image = Image.FromFile(a.FileName)
                PictureBox1.BackgroundImageLayout = ImageLayout.Stretch

            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
这是我保存的代码

If (Not System.IO.Directory.Exists("d:/Site Images/" & Label33.Text & "/")) Then
                System.IO.Directory.CreateDirectory("d:/Site Images/" & Label33.Text & "/")
            End If
            'Dim address = ("d:/Site Images/" & a.FileName & ".jpg")
            PictureBox1.Image.Save("d:/Site Images/" & Label33.Text & "/" & "a.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)

感谢您的帮助。

【问题讨论】:

  • 不确定我是否理解您要使用此代码完成的工作。我认为您正在使用 OpenFileDialog 浏览硬盘驱动器上已经存在的图像文件(使用 . 过滤器)。然后将该图像加载到图片框中,然后从那里将图像保存回具有不同文件名的硬盘驱动器?您希望能够同时处理多个图像吗?请提供有关您正在尝试做什么的更多信息,然后有人可以更好地帮助您。
  • 是的,来自硬盘驱动器或可移动磁盘的现有图像将被加载到图片框。然后从图片框中,它将被保存到一个新文件夹中,最好使用相同或原始文件名和文件类型。我目前在一个会话中使用 5 个图片框,因为我不知道如何启用多选并上传。我希望图像以其原始文件名保存,这样系统就不会在每次用户将新照片添加到配置文件时替换保存的图像。正如您在第二个代码中看到的,我使用 a.jpg 作为文件名。
  • 我还在为每个图片框使用保存命令。喜欢这个PictureBox1.Image.Save("d:/Site Images/" & Label33.Text & "/" & "a.jpg", System.Drawing.Imaging.ImageFormat.Jpeg) 中的 5 个和从 a-e 设置的文件名 ..
  • 好吧,首先你可以通过 OpenFileDialog 启用多选来选择多个图像:a.Multiselect = true。我还会设置一个更好的过滤器来检查有效的图像文件类型而不是 .,我肯定会使用某种函数来测试选择的文件是否是图像,例如来自这里的答案:[stackoverflow.com/questions/3557874/filetype-check-in-vb-net]。如果需要,可以通过将原始文件名保存到 picturebox.tag 并在需要时读取它来保留原始文件名。
  • 您可以动态创建图片框来显示多张图片,但如果有人选择了 100 张图片,您真的会这样做吗?如果他们选择 1,000 个呢?你要在屏幕上显示所有这些吗?当然,您可以使用可滚动面板,但也许您需要设置每次上传的最大图像数量来解决这个问题。

标签: vb.net


【解决方案1】:

一个示例 sn-p

Dim a As New OpenFileDialog
a.Filter = "Jpeg Files|*.jpg"
a.ShowDialog()
For i As Integer = 0 To a.FileNames.Count - 1
    Try
        Dim img As Image = Image.FromFile(a.FileNames(i))
        img.Save("Your Saving Path")
    Catch ex As Exception

    End Try
Next

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2013-08-25
    • 1970-01-01
    • 2016-03-09
    • 2020-05-31
    相关资源
    最近更新 更多