以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]将本地文件上传至ftp上出现错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=51948)

--  作者:loongtai
--  发布时间:2014/6/6 8:50:00
--  [求助]将本地文件上传至ftp上出现错误
表A中有一名为“简历” 列,扩展列类型为“文件”,现要实现这样的目的:
1:点击此列“插入文件”菜单时,弹出本地文件选择界面,选择本地文件,将其上传至Ftp上
2:上传的文件不再保存至本地的Attachment文件夹,以避免重复(本地已有此文件,不需再保存一份至本地的Attachment文件夹下)
3:当上传完毕后,此列显示的文件路径为ftp上的文件路径,点击“打开文件”时,需从ftp上下载该文件,然后才能打开

我的实现思路是:
1.将列属性中的“远程文件”项设为false
2.在BeforeAttatchment事件中利用network.Uploadfile将文件上传至ftp上,为通用性,我是在在项目属性中的全局表事件BeforeAttatchment事件中写入以下代码:network.Uploadfile(e.sourcefolder & "\\" & e.filename,“ftp:\\\\192.168.1.101\\ftp\\” & e.filename."anonymous","")
3.为了不重复保存,将e.cancel设为True

但试了下出现以下问题:
弹出两个错误:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140606084713.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140606084727.jpg
图片点击可在新窗口打开查看
还有一个问题是:
将e.cancel=true后,列中显示的内容为空。

求助如何实现我想要的功能



--  作者:Bin
--  发布时间:2014/6/6 8:57:00
--  
1.尝试到命令窗口执行上传命令看看是否正常.
2.可以在Cancel前,用代码为列赋值.

--  作者:有点甜
--  发布时间:2014/6/6 9:06:00
--  

你的ftp运行匿名访问?

 

你ftp上对应的路径是否存在?

 

建议直接使用ftpClient上传文件

 

http://www.foxtable.com/help/topics/1410.htm

 


--  作者:loongtai
--  发布时间:2014/6/6 9:10:00
--  
If TryConnectHost("192.168.1.101") Then
    Dim filename As String="03b04.jpg"
    Dim path As String="E:\\360云盘\\个人\\生活\\娱乐\\美女\\03b04.jpg"
    network.UploadFile(path,"ftp:\\\\192.168.1.101\\ftp\\" & filename,"anonymous","") 
End If

在命令窗口中按上面的代码进行测试
出现错误

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140606090619.jpg
图片点击可在新窗口打开查看
可能是ftp 的address设置不对,请指导下该如何设置这个地址。
这是我在浏览器中进入 ftp 目录的界面 

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140606090738.jpg
图片点击可在新窗口打开查看
这是ftp 在我电脑上的实际路径:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140606090916.jpg
图片点击可在新窗口打开查看



--  作者:loongtai
--  发布时间:2014/6/6 9:15:00
--  
明白了,错误的地方是"\\",原先是  "ftp:\\\\192.168.1.101\\ftp\\",正确的是:  "ftp://192.168.1.101/",且路径不能带ftp 所在文件夹
--  作者:loongtai
--  发布时间:2014/6/6 9:16:00
--  
再试试BIN说的第二条


--  作者:loongtai
--  发布时间:2014/6/6 9:24:00
--  
第二条试了下:CurrentTable.current("简历")="//" & filename,能够出现类似于远程文件的格式
但是点击 ”打开文件“ 菜单时,却提示找不到"// 03b04.jpg" 文件,不像列属性 远程文件设为true 的列,可以直接下载打开。
如何在打开文件时自动到FTP目录打开此文件?

--  作者:Bin
--  发布时间:2014/6/6 9:26:00
--  
这不是肯定的么,我搞不懂你这样折腾是为了什么? 你既然要可以打开,你直接用远程文件不就完了?

你都设置它为Flase,你还指望它能远程访问?

--  作者:有点甜
--  发布时间:2014/6/6 9:27:00
--  
以下是引用loongtai在2014-6-6 9:24:00的发言:
第二条试了下:CurrentTable.current("简历")="//" & filename,能够出现类似于远程文件的格式
但是点击 ”打开文件“ 菜单时,却提示找不到"// 03b04.jpg" 文件,不像列属性 远程文件设为true 的列,可以直接下载打开。
如何在打开文件时自动到FTP目录打开此文件?

 

应该是可以的,你要控制 【打开】 事件。

 

在打开事件那里,合并成一个 ftp://xxxxx/03b04.jpg 的路径。


--  作者:loongtai
--  发布时间:2014/6/6 9:36:00
--  
将列属性--远程文件 设为true,则插入文件时,弹出的将是ftp下的文件选择界面,而我希望是从本地上传文件
于是列属性--远程文件 设为false,则插入文件时,实现了可从本地上传文件,但是又无法打开文件。

换句话说:如何能实现 将 列属性--远程文件 设为true,但插入文件时,弹出的不是ftp下的文件选择界面,而是本地文件选择界面。那这个问题就解决了。