以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 手机上传多张照片  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=115502)

--  作者:zcgmxf
--  发布时间:2018/3/8 11:09:00
--  [求助] 手机上传多张照片
老师,我上传多张照片后,如何将照片以拍摄时间命名?如何将多个文件名保存到照片列?谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb



--  作者:有点甜
--  发布时间:2018/3/8 11:57:00
--  
    
    Dim ls = dr.Lines("照片")
    For Each key As String In e.Files.Keys
        For Each fln As String In e.Files(key)
            Dim idx As Integer = fln.LastIndexOf(".")
            Dim NewName As String = format(cdate(e.PostValues("拍摄日期")), "yyyyMMdd") & fln.SubString(idx)
            Dim cnt As Integer = 1
            Dim temp = newName
            Do While FileSys.FileExists("d:\\web\\uploadfiles\\" & NewName) \'判断文件夹是否存在同名文件
                NewName = temp.Insert(idx,"(" & cnt & ")") \'如果存在同名文件,在原文件名加上序号
                cnt = cnt + 1 \'递增序号
            Loop
            e.SaveFile(key,fln,"d:\\web\\uploadfiles\\" & NewName) \'保存接收到的文件
            ls.add(newName)
        Next
    Next
    dr.Lines("照片") = ls
    dr.save()

--  作者:zcgmxf
--  发布时间:2018/3/8 19:08:00
--  
老师,第一次上传得到如下两张照片,序号插入位置不对,没提示错误,第二次上传就出现了错误提示,显示上传失败。谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:20180803.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:20180(1)803.jpg
图片点击可在新窗口打开查看


.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.3.3.1
错误所在事件:自定义函数拍摄照片
详细错误信息:
调用的目标发生了异常。
索引超出范围。必须为非负值并小于集合大小。
参数名: startIndex


[此贴子已经被作者于2018/3/8 19:08:53编辑过]

--  作者:有点甜
--  发布时间:2018/3/8 21:29:00
--  

改成下面代码,弹出各个值看看。

 

    Dim ls = dr.Lines("照片")
    For Each key As String In e.Files.Keys
        For Each fln As String In e.Files(key)
            Dim idx As Integer = fln.LastIndexOf(".")

msgbox(idx)
            Dim NewName As String = format(cdate(e.PostValues("拍摄日期")), "yyyyMMdd") & fln.SubString(idx)

msgbox("1" & newname)
            Dim cnt As Integer = 1
            Dim temp = newName
            Do While FileSys.FileExists("d:\\web\\uploadfiles\\" & NewName) \'判断文件夹是否存在同名文件

msgbox("2" & newname)
                NewName = temp.Insert(8,"(" & cnt & ")") 
                cnt = cnt + 1 \'递增序号
            Loop

msgbox("3" & newname)
            e.SaveFile(key,fln,"d:\\web\\uploadfiles\\" & NewName) \'保存接收到的文件
            ls.add(newName)
        Next
    Next
    dr.Lines("照片") = ls
    dr.save()


--  作者:zcgmxf
--  发布时间:2018/3/8 23:34:00
--  
老师,上传一张 弹出 13  120180308 320180308
         一次上传两张 13  120180308 320180308  5  120180308 220180308  320180308
         保存的文件没问题 有两张后在上传两张 :9 120180308 220180308 220180308(1)320180308(2) 6 。。。。
 注释掉 msgbox 显示没问题了。

[此贴子已经被作者于2018/3/8 23:37:48编辑过]