以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于文件复制的一个问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42632)

--  作者:wangnovel
--  发布时间:2013/11/17 20:52:00
--  [求助]关于文件复制的一个问题
今天,客户提出了一个关于数据与图形文件上传的任务,简单一点说,就是要解决如下问题
    已知 :1. 有表A:字段a1、字段a2,字段a1与字段a2都是字符型数据,但字段a2里面的数据是一个图形文件的路径(这些图形文件放在文件夹1里面);

          2. 有文件夹1,里面是一些图形文件;

          3. 有表B:字段b1,字段b2,字段b1与字段b2都是字符型数据;

          4. 有文件夹2

要求:设计一个“更新”按钮,点击该按钮:

       当表A里面的记录有增加时,表B里面的记录也自动增加,同时,将文件夹1里面新增的图片复制到文件夹2里面。其中,a2的值等于a1b2的值是文件          夹2里面新增图片文件的路径。 



求狐爸指导!


--  作者:有点甜
--  发布时间:2013/11/17 21:10:00
--  
 这个简单吧?编写表A的datarowadded事件,参考 http://www.foxtable.com/help/topics/2490.htm

 至于拷贝文件,如果是ftp上的,就用ftp的拷贝文件方式(好像狐表暂没有提供);如果是本地的拷贝,直接写路径就行了 http://www.foxtable.com/help/topics/0342.htm

 

--  作者:rjh4078
--  发布时间:2013/11/17 21:43:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

简单做了个例子  例子中是通过文件ID 来判断文件唯一性的 这个只是个参考 不是很科学 主要是给你展示几个命令的用法 找到文件 确定路径 复制文件 判断文件有效性 你可以根据实际情况来修改代码
--  作者:wangnovel
--  发布时间:2013/11/17 21:44:00
--  
是一个好方法,但客户要求文件拷贝到局域网的另外一台机器上,不知 CopyFile函数能否实现?帮助文档里有个“局域网中的文件管理”,但好像不适合我这边的情况
--  作者:有点甜
--  发布时间:2013/11/17 21:48:00
--  
 局域网是可以的,但是文件夹要共享出来。路径这样写 \\\\ip\\共享文件夹
--  作者:wangnovel
--  发布时间:2013/11/17 21:57:00
--  
哦,非常感谢“有点甜”和“rjh4078”,我好像懂了一点了!
--  作者:rjh4078
--  发布时间:2013/11/18 11:50:00
--  
局域网建议搭个server-U FTP服务器 管理起来比较方便 很多代码都是现成的
--  作者:旭日生
--  发布时间:2020/12/21 15:44:00
--  

感谢rjh4078 提供的案例和代码,省掉了我不少事。帮优化了一下代码,以便复制文件时逐条提示:

 

For Each r As Row In Tables("表A")
   
    If FileSys.FileExists(r("文件位置"))  Then
        Dim Multi As String = r("文件位置")
        Dim Values() As String
        Values = Multi.split("\\")
        Dim Index=Values.Length - 1
       
       
        Dim dr As DataRow=DataTables("表B").find("id=\'" & r("id") &  "\'")
        If dr Is Nothing Then
            Dim rr As Row = Tables("表B").addnew
            rr("id")= r("id")
            FileSys.CopyFile(multi, ProjectPath & "W2\\" & Values(Index),True)
            rr("文件位置")=ProjectPath & "W2\\" & Values(Index)
        End If
    Else
       
        \'        MessageBox.SHOW("没有",r("文件位置"),"文件" )
        MessageBox.Show("你选择的文件:" & r("文件位置") & "不存在或为空","提示")
    End If
Next

DataTables.save