以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  打开FTP文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95745)

--  作者:刘林
--  发布时间:2017/2/4 11:06:00
--  打开FTP文件
老师,我有一个试卷表,有几列,年级,科目,试卷名称,试卷文件(备注列扩展为文件,文件为FTP远程WORD文件),我想做一个窗口选择点试卷名称时,自动动远程打开该文件,而不是在表中点扩展列的三个点按钮来打开,也不打开FTP管理选择文件,请问该怎么办,还没接触过FTP操作,请赐教
--  作者:有点色
--  发布时间:2017/2/4 11:08:00
--  

 把文件下载下来。然后打开。

 

http://www.foxtable.com/webhelp/scr/1402.htm

 

http://www.foxtable.com/webhelp/scr/1410.htm

 


--  作者:刘林
--  发布时间:2017/2/4 18:34:00
--  
老师,如果用下面例子来改
Dim ftp1 As new ftpclient
ftp1.host=
"196.128.143.28"
ftp1.Account = 
"foxuser"
ftp1.password = 
"138238110"
If 
ftp1.Download("\\photo\\Desert.jpg","c:\\data\\Desert.jpg") = True Then
    
Messagebox.show("下载完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    
Messagebox.show("下载失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

备注列中的文件路径是用/分隔,我想用备注列的远程文件名直接打开,
备注列的文件:/kmzb/web/shengji/xueji/内江市2014-2015八年级上数学期末考试.doc
这该怎么写,然后打开,研究不出来,请帮写下,谢谢



--  作者:有点色
--  发布时间:2017/2/4 18:56:00
--  

比如代码

 

Dim t As Table = Tables("表A")
Dim ftp1 As new ftpclient
ftp1.host="196.128.143.28"
ftp1.Account = "foxuser"
ftp1.password = "138238110"
ftp1.UTF8 = True
If ftp1.Download(t.Current("第一列"), "d:\\" & FileSys.GetName(t.Current("第一列"))) = True Then
    Messagebox.show("下载完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    Messagebox.show("下载失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
ftp1.close


--  作者:刘林
--  发布时间:2017/2/4 19:02:00
--  
Dim ftp As FTPClient = Tables("试卷").Cols("试卷文件").DataCol.FTPClient
Dim fpath As String =  Tables("试卷").current("试卷文件")
Dim bpath As String = Tables("试卷").current("试卷文件")
ftp.UTF8 = True
If ftp.Download(fpath, bpath) Then
    Dim Proc As New Process \'定义一个新的Process
    Proc.File = bpath
    Proc.Start()
End If

我改成这样没反应,不能打开文件

--  作者:有点色
--  发布时间:2017/2/4 19:23:00
--  
Dim ftp As FTPClient = Tables("试卷").Cols("试卷文件").DataCol.FTPClient
Dim fpath As String =  Tables("试卷").current("试卷文件")
Dim bpath As String = "d:\\" & FileSys.GetName(fpath)
ftp.UTF8 = True
If ftp.Download(fpath, bpath) Then
    Dim Proc As New Process \'定义一个新的Process
    Proc.File = bpath
    Proc.Start()
End If

--  作者:刘林
--  发布时间:2017/2/4 21:48:00
--  
还是没反应,试卷文件列的文件路径是下面这个内容
/kmzb/web/shengji/xueji/内江市2014-2015八年级上数学期末考试.doc
而文件路径分隔符是 "\\",是不是将/kmzb/web/shengji/xueji/内江市2014-2015八年级上数学期末考试.doc定义为变量FPATH其文件路径不对,我不清楚

--  作者:刘林
--  发布时间:2017/2/4 21:51:00
--  
能不能模拟备注列的...按钮动作
--  作者:有点色
--  发布时间:2017/2/4 22:21:00
--  

 如果没有反应,说明ftp的文件路径不正确吧。你直接执行

 

Dim ftp As FTPClient = Tables("试卷").Cols("试卷文件").DataCol.FTPClient
ftp.OpenManager

 

 然后找到对应的文件,看看其路径是什么。


--  作者:刘林
--  发布时间:2017/2/4 22:47:00
--  
我在试卷表中按备注列...按键打开文件加入的路径,应该没错,我疑惑的是该列的文件路么是远程文件路径是反斜杠/分隔,而本地文件路径是正斜杠\\分隔,上面Dim fpath As String =  Tables("试卷").current("试卷文件")取得的文件路径是不是不对。
另外我想做个上打开文件并上传到FPT服务器
Dim dlg As New OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
MessageBox.show(dlg.filename)
Network.UploadFile(dlg.filename, "ftp://zhanshang:138238@egridsoft.com/kmzb/web/shengji/xueji/" & FileSys.GetName(dlg.filename))
End If

出现:远程服务器返回错误: (550) 文件不可用(例如,未找到文件,无法访问文件)
当然红色部分是我改成了我的服务器用户名,密码,地址的,请问是什么问题,请指教,谢谢