Foxtable(狐表)用户栏目专家坐堂 → 读取ftp上图片的问题(上传了例子)


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

主题:读取ftp上图片的问题(上传了例子)

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
读取ftp上图片的问题(上传了例子)  发帖心情 Post By:2014/11/20 11:56:00 [只看该作者]

表中有产品编码和图片两列,如果图片是放在ftp服务器上的,图片的名称就是产品编码加上".jpg"

当产品编码输入后如果ftp是连通的,就自动在图片列显示出图片来,如果ftp连接不上就不操作

代码要怎么写?

 

谢谢!

 

 

[此贴子已经被作者于2014-11-20 16:41:38编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/20 11:58:00 [只看该作者]

 1、编写datacolchanged事件;

 

 2、拼凑路径;下载图片;设置进图片控件


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/20 11:58:00 [只看该作者]

上个例子,把FTP帐号那些发上来,一系列的操作没办法直接给你代码.

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/20 16:41:00 [只看该作者]


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ftp管理图片.table

我的想法就是所有图片都直接保存到ftp服务器的某个目录下,在窗口表中产品编码录入A003时,图片列就自动按A003.jpg从ftp服务器上查找图片并显示出来(图片全部是按编码命名的),现在录入产品编码后,图片列什么也没有?

 

ftp服务器那里是随便写的,具体的到时我会设置,请老师们看下窗口的afterload和datacolchanged中的代码对不?

 

谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/20 16:55:00 [只看该作者]

 代码没问题,具体情况你要测试才知

 

Tables(e.Form.Name & "_Table1").Fill("select * from {表A}",False)
Tables(e.Form.Name & "_Table1").AllowEdit = True
DataTables(e.Form.name & "_Table1").dataCols("图片").ExtendType = ExtendTypeEnum.Images
Dim pb As WinForm.PictureBox = e.Form.Controls("PictureBox1")
pb.BindingField = e.Form.name & "_Table1.图片"
DataTables(e.Form.name & "_Table1").DataCols("图片").Remote = True
DataTables(e.Form.name & "_Table1").DataCols("图片").FTPClient.Host ="192.168.0.108"
DataTables(e.Form.name & "_Table1").DataCols("图片").FTPClient.Account = "abc"
DataTables(e.Form.name & "_Table1").DataCols("图片").FTPClient.password = "abc123"
pb.FTPclient = DataTables(e.Form.name & "_Table1").DataCols("图片").FTPClient


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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/20 17:12:00 [只看该作者]

还有几个问题:

1、本机的IP地址比如192.168.0.108在本机上不能作为ftp服务器的地址吗?想在本机上建立一个ftp服务器然后在本机上模拟测试好像都不行

2、如果输入一个产品编码后,如果ftp上没有对应的图片会不会出错。

3、如果ftp服务器连接不上时,如果输入产品编码就会长时间卡在那里,要怎么判断连接不上就不提取图片?

 

谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/20 17:17:00 [只看该作者]

 以上的问题,就不要用绑定的方法做了。

 

1、在currentChanged事件,根据图片路径,用ftp下载图片,然后设置到图片控件;

 

2、在datacolchanged事件,也同样的根据路径,下载图片,设置;

 

3、因为是用ftp下载图片的,先尝试能否连接ftp,再决定其他。


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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/24 21:35:00 [只看该作者]

甜老师,这个还是有两点不明白,

1、如果用ftp直接下载,是不是这样

Network.DownloadFile("ftp://zhanshang:138238@egridsoft.com/public/isam.zip",ProjectPath & "\Attachments\" "c:\data\isam.zip")

如果Attachments下面已经有了同名文件,是不是就不会再下载了,提高速度

 

2、如果事件写在currentchanged中,当第一次打开窗口加载表时,因为每页加载50行数据,这样这个代码就会执行50次,怎么样避免这种情况?

 

谢谢!

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/24 22:02:00 [只看该作者]

1、可以先判断文件的信息,比如比较 最后修改时间、大小等,再决定是否下载新文件。

 

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

 

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

 

2、你可以写在click事件嘛。或者在加载的时候,取消事件的执行 http://www.foxtable.com/help/topics/2218.htm

 


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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2014/11/25 21:11:00 [只看该作者]

 

现在ftp的上传图片什么的都可以了,但是想让窗口中的图片控件显示指定的图片要怎么办?谢谢!

 

Dim  ftp1 As New FtpClient
ftp1.Host = ftp_Host
ftp1.Account = ftp_User
ftp1.Password = ftp_Pwd
ftp1.Changedir("Files\photo")

Dim file2 As String = pc & ".jpg"  'ftp上的文件路径
If ftp1.FileExists(File2) Then  '如果存在则下载
    Dim pb As WinForm.PictureBox = e.Form.Controls("PictureBox1")

    '如何让窗口中的pb控件显示ftp上的这张指定的File2图片?
    pb.FTPclient = ftp1 ’这样不行
End If


 


 回到顶部
总数 19 1 2 下一页