Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
此主题相关图片如下:互联网中的文件管理器.jpg
以上是互联网中的文件管理器,点“增加”,出现的是FTP中的文件,点“管理”打开的是“远程文件管理器”( http://help.foxtable.com/topics/1407.htm
).要上传资料要在“管理”中上传,再到“增加”中才能把资料加入对应单元格。
如果不把扩展列属性设“远程文件”,那么点文件管理器的增加,出现打开文件对话框,选择文件后自动复制到Attachments文件夹下,如果在表事件BeforeAttachFile中设置SubFolder属性可以指定存放文件的子目录( http://help.foxtable.com/topics/2209.htm )。
我现在要实现的功能是:点“增加”按钮,打开文件对话框,选择本地文件后,点确定后在指定服务器中按自定义规则自动创建指定存放文件的子目录,并自动把选择的所有文件上传到指定服务器存放的目录中,最后在单元格中显示所选择的文件。点“删除”按钮实现在服务器上删除对应的文件(当然有选择项更好)。
如此一来,互联网的文件管理器就与本地文件管理器差不多了。
如果能实现这个功能,那么文件管理器中“管理”按钮不要的好,我可不能让项目使用者在服务器上利用FTP乱搞一气。
可以的,在BeforeAttachFile中上传文件,FTPClient提供了上传和删除文件的方法,请自行参考:
http://help.foxtable.com/topics/1410.htm
有点晕,BeforeAttachFile事件好象无法管理FTP中的数据,FTPClient中的方法在那里用,是在事件中,还是在自己设计的“增加”代码中?狐爸还是给点思路
在BeforeAttachFile定义一个FTPClient:
Dim ftp1 As new ftpclient
ftp1.host="128.169.143.96"
ftp1.Account = "foxuser"
ftp1.password = "136137138"
ftp1.upload(e.SorceFolder & "\" & e.FileName, "/服务器的子目录/" & e.SourceFile, True)
e.Cancel = True ‘取消本次添加,因为前面上传到服务器了,下面手工添加上传文件的地址
Dim v As String = Tables("XXX").Current("文件")
If v = "" Then
v = "/服务器的子目录/" & e.SourceFile
Else
v= v & vbcrlf & "/服务器的子目录/" & e.SourceFile
End IF
Tables("XXX").Current("文件") = V
错误提示:
把SorceFolder 改为 SourceFolder 也错误。
在表事件BeforeAttachFile中也没有该属性。也没有e.SourceFile属性,请狐爸看看。
我在BeforeAttachFile加入下面的代码,测试通过:
MessageBox.show(e.SourceFolder & "\" & e.FileName)
呵呵,本来就没有SourceFile,你怎么用啊。
下面这样才可以得到含路径的文件名:
e.SourceFolder & "\" & e.FileName