以文本方式查看主题

-  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=106500)

--  作者:happyft
--  发布时间:2017/9/10 15:47:00
--  ftp图片问题

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


如果上图,sqltable的表,表中有一列图片,专门设计了一个图片浏览器的窗口来显示图片,窗口的afterload代码:
Dim pv As WinForm.PictureViewer = e.Form.Controls("PictureViewer1")
pv.AddCommand.Visible = False  \'新增按钮不可见
pv.DeleteCommand.Visible = False  \'删除按钮不可见
pv.ClearCommand.Visible = False  \'清除按钮不可见
pv.ManagerCommand.Visible = False  \'清除按钮不可见
pv.BindingField = CurrentTable.Name & ".图片"  \'绑定到当前表中的图片列

\'---用于远程文件管理
Dim ftp As New FTPClient
ftp.host= ftp_Host
ftp.Account = ftp_User
ftp.password = ftp_Pwd
ftp.Port = ftp_Port  \'不是默认的21端口时一定要加上ftp端口号
ftp.RootDir = "\\File"
ftp.UTF8 = True  \'避免中文乱码
pv.FTPclient = ftp

如果表中直接按"/File/11-LT95.jpg"录入就可以,但这样字段太长不好,想弄成表中只保存"11-LT95.jpg",不要前面这个路径
因为ftp上路径都是固定的即图片都在File目录下,上面的代码为什么实现不了叱?ftp文件一上传,前面就会自动加上"/File/"这个前辍了

谢谢!





--  作者:有点甜
--  发布时间:2017/9/10 17:00:00
--  

1、改成 /File

 

2、你可以尝试在列属性、控件,分别设置。


--  作者:HappyFt
--  发布时间:2017/9/15 19:52:00
--  
还是没搞定怎么设置,要求也就是在弹出的ftp上传文件管理器或其他对话框中选择一个或者多个文件确定后,

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

列中只显示这个文件名如123.pdf而不要带前面这个路径/File/123.pdf
是不是要自己设计ftp上传或下载的窗口才能控制.

--  作者:有点蓝
--  发布时间:2017/9/15 21:08:00
--  
测试了一下,只能这样,没有办法
--  作者:HappyFt
--  发布时间:2017/9/18 11:35:00
--  
自己做ftp上传下载的窗口也实现不了吗?
--  作者:有点甜
--  发布时间:2017/9/18 11:48:00
--  
以下是引用HappyFt在2017/9/18 11:35:00的发言:
自己做ftp上传下载的窗口也实现不了吗?

 

你动态修改ftp列的值,就好了嘛。比如自动生成的是 /File/123.pdf,改成 123.pdf 就行了。


--  作者:HappyFt
--  发布时间:2017/9/18 11:53:00
--  
那样不好,如果什么时候用户的ftp上存放图片或者文件的路径变动了,那又要修改代码了
--  作者:有点甜
--  发布时间:2017/9/18 11:59:00
--  
以下是引用HappyFt在2017/9/18 11:53:00的发言:
那样不好,如果什么时候用户的ftp上存放图片或者文件的路径变动了,那又要修改代码了

 

你读取列属性【根目录】的值进行替换咯,你根目录不是/File麽?


--  作者:HappyFt
--  发布时间:2017/10/10 21:51:00
--  
将" /File/123.pdf"用代码改成 "123.pdf"又会遇到一个新问题,就是窗口中有一个控件 是绑定到此列上的
Dim pb As WinForm.PictureBox = Forms(winName).Controls("PictureBox1")
pb.BindingField = "窗口1_主表.图片"

因为列中没有前面那个路径,结果鼠标移动此列时图片就会变成打X了,有前面那个路径就不会,怎么办,把图片先下载到本地,再绑定可以吗?

谢谢!


--  作者:有点蓝
--  发布时间:2017/10/10 22:09:00
--  
下载:http://www.foxtable.com/webhelp/scr/1410.htm

不要绑定,到Currentchanged事件下载图片,然后赋值

Forms(winName).Controls("PictureBox1").image = getimage("图片本地路径")