Foxtable(狐表)用户栏目专家坐堂 → 文件管理器


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

主题:文件管理器

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
文件管理器  发帖心情 Post By:2020/10/29 3:41:00 [显示全部帖子]

窗口中有方件管理器,
窗口打开时设置了代码
Dim fm As WinForm.FileManager = e.Form.Controls("FileManager1")
   fm.AddFolderCommand.Enabled = False
    fm.ClearCommand.Enabled = False
    fm.ManagerCommand.Enabled = False
请问除了禁用是否要直接设置隐藏这几个功能按钮?

另外,在使用文件管理器(FTP模式)上传文件时,如何如何请文件自动重命名?
命如规则为:登录用户名+原文件名

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/10/29 3:44:00 [显示全部帖子]

设置为是否显示已经看到帮助解决,请都是帮助看看自动重命名的问题。谢谢!

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/2 11:08:00 [显示全部帖子]

老师,由于用增加代码,不同用户传的文件都在这相同的一个FTP文件夹中,别的用户也上传时可以看到其中别人传的文件。
我取消了原增加代码,想直接出来一个文件选择框,然后直接完成上传,请如代码如何设置?
Dim dlg As New OpenFileDialog
Dim flm As WinForm.FileManager = e.Form.Controls("FileManager1")  
dlg.Filter= "图片文件|*.img"  想过滤文件类型,img或IMEG
If dlg.ShowDialog = DialogResult.OK Then
    Dim pth As String = ProjectPath & "Attachments\"
    If dlg.FileName.ToLower.StartsWith(pth.ToLower) Then '如果文件来自Attachments目录
        flm.AddFile(dlg.FileName.SubString(pth.Length))
    Else '如果不是
        FileSys.CopyFile(dlg.FileName, pth & FileSys.GetName(dlg.FileName))
        flm.AddFile(FileSys.GetName(dlg.FileName))
    End If
End If

请问上方应该如何修改为定义FTP连接?

Dim flm As WinForm.FileManager = e.Form.Controls("FileManager1")
Dim
 ftp As New FTPClient
ftp
.host="192.168.128.143"
ftp
.Account = "yinsha"
ftp
.password = "128168909"
flm
.FTPclient = ftp


上传到FTP的ZZFJ文件夹中,请问老师,代码应该怎么写才能实现?谢谢老师。、

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/2 14:31:00 [显示全部帖子]

老师,测试了您发的代码,
提示:错误代码  flm.AddFile(dlg.FileName)   应为表达式。

另外这个需要上传的图片,我需要在本机选择指定,然后上传到FTP服务器指定目录,
应该有一个Dim dlg As New OpenFileDialog  这个选择返回路径。
但是我不知道 怎么组合,还有报错那里,请都是再看一下帮助指导。

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/2 15:10:00 [显示全部帖子]

老师:
第一步,代码如下:先选择文件,并在插件 textbox2 中返回了选择的文件跟径+文件名 (文件在本机选择)
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    e.Form.Controls("textbox2").value = dlg.FileName
End If
第二步,想将选择的文件上传到FTP服务器的ZZFJ文件夹中。窗口中增加了一个 (上传Button)按钮,选择路径的按钮和上传的按钮都是在控件 FileManager1 旁。想上传完后同时也关联好 FileManager1设置,在这个控件中显示出来。
Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If 
ftp1.Upload("c:\data\Desert.jpg","\ZZFJ\Desert.jpg") = True Then
    
Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    
Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

Dim flm As WinForm.FileManager = e.Form.Controls("FileManager1")
flm.AddFile(\ZZFJ\Desert.jpg)
这样做的目的是不用原来
FileManager1的增加功能了(隐藏了),因为原功能一点上传增加就会打开对应的FTP  ZZFJ目录,看到该目录下的其他文件。
ZZFJ是相同一类的表单 都往这个目录上传,但是一张单据只关联几个文件,如果直接使用文件管理器绑的FTP,点开就把不相关的不能看到的全看到了。

谢谢老师。

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/2 17:50:00 [显示全部帖子]

老师,总代码如下:
Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If ftp1.Upload(e.Form.Controls("textbox2").value,"\ZZFJ\" & FileSys.GetName(e.Form.Controls("textbox2").value)) = True Then
    
Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    
Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
如果只有以上代码,则完成了附件上传,并且远程FTP文件夹中也有对应的文件了。
但是一起加上以下代码,则出现了  “ 提示:错误代码  flm.AddFile(dlg.FileName)   应为表达式。”
Dim flm As WinForm.FileManager = e.Form.Controls("FileManager1")
flm.AddFile(\ZZFJ\FileSys.GetName(e.Form.Controls("textbox2").value))
这里怎么让
FileManager1插件也关联上?

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/2 23:50:00 [显示全部帖子]

老师已实现上传和关联,还想再完善一下实现改名,怕不同人传的附件在同一FTP文件夹下重名了。
Dim CODE As WinForm.TextBox = e.Form.Controls("TextBox10")
Dim flm As WinForm.FileManager = e.Form.Controls("FileManager1")

Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If ftp1.Upload(e.Form.Controls("textbox2").value,"\ZZZJ\" & "CODE.text" & FileSys.GetName(e.Form.Controls("textbox2").value)) = True Then   (改名规则为 code.text + 当前日期时间 + 上传的文件名 )
    Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

flm.AddFile(FileSys.GetName(e.Form.Controls("textbox2").value))  此处也对应上面改的名称

试了修改代码没改正确,请老师再帮看看那里怎么重命名组合、

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/3 10:30:00 [显示全部帖子]

老师,日期没有问题,但是code.text 并没有取字段中的值,重命名的文件变成了例:code.text02011031026001.png这种模式,

例如code.text对应的值为0001,

改为别地方的样式如下也不行,
Dim file As String = "/HGZZJ/& '"& CODE_text & "' & format(Date.now,"yyyyMMddHHmmss") & FileSys.GetName(e.Form.Controls("textbox2").value)

请都是受累再看一下。

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2020/11/3 10:38:00 [显示全部帖子]

谢谢老师,最后实现了,改为

Dim file As String = "/FJZL/"& e.Form.Controls("TextBox10").value & format(Date.now,"yyyyMMddHHmmss") & FileSys.GetName(e.Form.Controls("textbox2").value)

可以了。

 回到顶部