以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]图片存储  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194278)

--  作者:苏州老街
--  发布时间:2024/11/24 17:48:00
--  [求助]图片存储
老师好,下面是添加图片的按钮,我把图片保存在指定的文件夹中时他在文件夹以外也复制了一个同样的图片。

If Tables("水电气费用记录").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = Tables("水电气费用记录").Current.DataRow
Dim dlg As New OpenFileDialog
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
If dlg.ShowDialog = DialogResult.OK Then
    dr.SQLInsertFile("总表",dlg.FileName) \'插入文件
    Dim pic As WinForm.PictureBox = e.Form.Controls("BBB1")
    pic.Image = GetImage(dlg.FileName)
    FileSys.CopyFile(dlg.FileName, "H:\\图片管理\\Attachments\\图片\\抄表图片\\" & FileSys.GetName(dlg.fileName),True)
    Tables("水电气费用记录").Current("总表名称") = FileSys.GetName(dlg.fileName)
End If

--  作者:有点蓝
--  发布时间:2024/11/24 20:11:00
--  
没看懂想表达的什么问题?
--  作者:苏州老街
--  发布时间:2024/11/25 1:20:00
--  
老师,添加图片按钮把图片保存到抄表图片文件夹中时可是他在项目文件夹中生成了一个多余的图片。




此主题相关图片如下:2024-11-25 06 38 34.png
按此在新窗口浏览图片


If Tables("水电气费用记录").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = Tables("水电气费用记录").Current.DataRow
Dim dlg As New OpenFileDialog
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
If dlg.ShowDialog = DialogResult.OK Then
    dr.SQLInsertFile("总表",dlg.FileName) \'插入文件
    Dim pic As WinForm.PictureBox = e.Form.Controls("BBB1")
    pic.Image = GetImage(dlg.FileName)
    FileSys.CopyFile(dlg.FileName, "H:\\图片管理\\Attachments\\图片\\抄表图片\\" & FileSys.GetName(dlg.fileName),True)
    Tables("水电气费用记录").Current("总表名称") = FileSys.GetName(dlg.fileName)
End If



[此贴子已经被作者于2024/11/25 6:50:57编辑过]

--  作者:有点蓝
--  发布时间:2024/11/25 8:48:00
--  
这个代码看不出会多复制图片。检查其它代码。比如表事件
--  作者:苏州老街
--  发布时间:2024/11/25 17:44:00
--  
老师,这是打开图片按钮,他好像为重新复制图片到项目里。

If Tables("水电气费用记录").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = Tables("二零六水电气费用记录").Current.DataRow
Dim fl As String =  ProjectPath &  dr("_Identify") & ".jpg"
If dr.SQLLoadFile("总表",fl) Then \'如果提取文件成功
    Dim Proc As New Process \'打开文件
    Proc.File = fl
    Proc.Start()
Else
    Messagebox.Show("图片提取失败,可能并不存在图片!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If

--  作者:有点蓝
--  发布时间:2024/11/25 19:53:00
--  
就是这个代码保存的图  
--  作者:苏州老街
--  发布时间:2024/11/25 20:08:00
--  
老师好,谢谢修改一下。谢谢
--  作者:有点蓝
--  发布时间:2024/11/25 20:51:00
--  
要改成什么样?要打开图片也肯定要保存了才能打开
--  作者:苏州老街
--  发布时间:2024/11/25 21:01:00
--  
老师,这是我添加保存图片的代码。然后根据这个地址打开图片。
If Tables("水电气费用记录").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = Tables("二零六水电气费用记录").Current.DataRow
Dim dlg As New OpenFileDialog
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
If dlg.ShowDialog = DialogResult.OK Then
    dr.SQLInsertFile("总表",dlg.FileName) \'插入文件
    Dim pic As WinForm.PictureBox = e.Form.Controls("BBB1")
    pic.Image = GetImage(dlg.FileName)
    FileSys.CopyFile(dlg.FileName, "H:\\图片管理\\Attachments\\图片\\抄表图片\\" & FileSys.GetName(dlg.fileName),True)
    Tables("水电气费用记录").Current("总表名称") = FileSys.GetName(dlg.fileName)
End If

--  作者:有点蓝
--  发布时间:2024/11/25 21:24:00
--  
If Tables("水电气费用记录").Current Is Nothing Then
    Return
End If
Dim fl As String =  "H:\\图片管理\\Attachments\\图片\\抄表图片\\" &  Tables("水电气费用记录").Current("总表名称") 
    Dim Proc As New Process \'打开文件
    Proc.File = fl
    Proc.Start()