在我的产品注册表单中,我有一个“照片”按钮,用于在图片框中显示产品照片1。
当用户单击photo按钮时,代码将比较Products
表的prdCod
列和服务器上Photo
文件夹中图像的filename
,如果找到,它将在picturebox1
中显示相应的图像。
照片按钮,执行以下命令:
Private Sub btnPhoto_Click(sender As Object, e As EventArgs) Handles btnPhoto.Click
Dim IdProduto As String = prdCod ** column in Products table that will be used for the search image in the Photos folder
If File.Exists("\\server\cmg\projects\Photos" & IdProduto) Then ** Search the image from the Photos folder on the server
PictureBox1.Image = Image.FromFile("\\server\cmg\projects\Photos" & IdProduto)
End If
End Sub
在线上
If File.Exists("\\server\cmg\projects\Photos" & IdProduto)
我有两个问题:
- 在与prdCod的比较中读取了映像的文件类型,我只需要比较映像的文件名就可以了;
- 当图像的文件名有前导零时,比较也不起作用。
注解1:这些图像将不会保存在Products
表中,它们将已经在服务器上的Photos
文件夹中,并且仅用于在picturebox1
中显示。
注解2:Photos
文件夹中图像的文件名将始终为数字,并且不会重复,例如:\
1.png, 2.png, 3.bmp, 4.jpg, 5.bmp, 6.jpeg...
如何仅比较Photos
文件夹中的映像文件名,而不比较文件类型,并且忽略前导零?
2条答案
按热度按时间vuktfyat1#
没有简单的解决方案。你基本上必须迭代文件夹中的所有文件,使用例如Path.GetFileNameWithoutExtension,并在比较之前删除前导零。
一个更好的方法是重新设计工作流程,并将相应的真实的文件名(甚至是完全限定的文件名)与产品代码沿着存储。
os8fio9y2#
可以使用GetFiles方法并对扩展名使用通配符。
这将添加照片,如果存在。
要调用该方法: