Foxtable(狐表)用户栏目专家坐堂 → [求助] 手机上传多张照片


  共有2260人关注过本帖树形打印复制链接

主题:[求助] 手机上传多张照片

帅哥哟,离线,有人找我吗?
zcgmxf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1653 积分:14702 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助] 手机上传多张照片  发帖心情 Post By:2018/3/8 11:09:00 [只看该作者]

老师,我上传多张照片后,如何将照片以拍摄时间命名?如何将多个文件名保存到照片列?谢谢!

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



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1653 积分:14702 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1653 积分:14702 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By: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编辑过]

 回到顶部