以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 有没有办法二进制文件时 在附件 插入文件的时候 也对应将文件名称和写入的文件名称一样呢? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159441) |
-- 作者:李孝春 -- 发布时间:2020/12/26 19:12:00 -- 有没有办法二进制文件时 在附件 插入文件的时候 也对应将文件名称和写入的文件名称一样呢? 上传文件代码如下 Dim r1 As Row =Tables("事件登记").Current Dim dlg As New OpenFileDialog dlg.Filter = "所有文件|*.*" If dlg.ShowDialog =DialogResult.OK Then Dim fl As String = dlg.FileName Dim r As Row = Tables("事件登记.文件附件").AddNew() r("文件名") = Date.now & FileSys.GetName( fl) \'写入文件名 r.Save \'必须先保存 r.DataRow.SQLInsertFile("附件",fl) \'插入文件 r.DataRow.SQLSetValue("CRC值", CRCCheckFile(fl)) \'保存crc检验值 End If 上传二进制列文件 将当前长时间写入到文件名称中 怎么实现附件内容也是在名称中呢? 按照上述代码 在下载附件的时候 提示文件名对应的附件不存在 有没有办法在附件 插入文件的时候 也对应将文件名称和写入的文件名称一样呢? 打开文件事件代码: Dim dr As DataRow = Tables("事件登记.文件附件").Current.DataRow MessageBox.Show(dr("文件名")) 可以得到上述附带具体时间的文件名 但是无法对应显示文件 提示提取文件失败 求解 Dim fl As String = ProjectPath & "预览文件\\" & dr("文件名") wjdz = fl If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then \'如果本地存在同名文件且CRC校验值相同 \'则直接使用本地文件 If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") Then pc2.Image= GetImage(fl) kp.SelectedIndex=1 kp.SelectedPage.Text=dr("文件名").SubString(0,10) Else If fl.EndsWith(".zip") OrElse fl.EndsWith(".rar") OrElse fl.EndsWith(".exe") Then \'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse Dim Proc As New Process \'打开文件 Proc.File = fl Proc.Start() Else web1.OfficeToolBar = False web1.Address = fl kp.SelectedIndex=0 kp.SelectedPage.Text=dr("文件名").SubString(0,10) End If Else \'否则从数据库提取文件 If dr.SQLLoadFile("附件",fl) = False Then \'如果提取文件失败 Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) Return Else If fl.EndsWith(".jpg") OrElse fl.EndsWith(".png") OrElse fl.EndsWith(".bmp") OrElse fl.EndsWith(".gif") Then pc2.Image= GetImage(fl) kp.SelectedIndex=0 Else If fl.EndsWith(".zip") OrElse fl.EndsWith(".rar") OrElse fl.EndsWith(".exe") Then \'fl.EndsWith(".txt") OrElse fl.EndsWith(".pdf") OrElse Dim Proc As New Process \'打开文件 Proc.File = fl Proc.Start() Else web1.OfficeToolBar = False web1.Address = fl kp.SelectedIndex=1 End If End If [此贴子已经被作者于2020/12/26 19:20:03编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/27 20:17:00 -- 试试 r("文件名") = format(Date.now,"yyyyMMddHHmmssfffff") & FileSys.GetName( fl) \'写入文件名
|
-- 作者:李孝春 -- 发布时间:2020/12/27 20:26:00 -- 回复:(有点蓝)试试r("文件名") = format(Date.now,... 试了一下 这个格式化时间后文件名称看起来确实美观了 问题解决了 谢谢
[此贴子已经被作者于2020/12/27 20:29:42编辑过]
|