Foxtable(狐表)用户栏目专家坐堂 → webbrowser如何显示远程ftp服务器上的pdf文件


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

主题:webbrowser如何显示远程ftp服务器上的pdf文件

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


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
webbrowser如何显示远程ftp服务器上的pdf文件  发帖心情 Post By:2015/8/30 10:07:00 [只看该作者]

在窗口的afterload 中用了如下代码:

Tables(e.Form.name & "_主表").Cols("附件").DataCol.ExtendType = ExtendTypeEnum.File '多值字段
DataTables(e.Form.name & "_主表").DataCols("附件").Remote = True
DataTables(e.Form.name & "_主表").DataCols("附件").FTPClient.Host = ftp_Host
DataTables(e.Form.name & "_主表").DataCols("附件").FTPClient.Account = ftp_User
DataTables(e.Form.name & "_主表").DataCols("附件").FTPClient.password = ftp_Pwd
DataTables(e.Form.name & "_主表").DataCols("附件").FTPClient.UTF8 = True '避免中文乱码
DataTables(e.Form.name & "_主表").DataCols("附件").FTPClient.RootDir = "/Photo/工程图纸/" '设置根目录


 

然后在表中的currentchanged事件用下面的代码

If e.Table.Current IsNot Nothing Then
    Dim web As WinForm.WebBrowser = e.Table.Form.Controls("WebBrowser1")
    web.address = e.Table.Current("附件")
    'web.address = "C:\DB003-01.pdf"
End If

 

结果却显示无效的URI,无法确定URI的格式,要怎么写才正确?

 

谢谢!


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


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

大红袍老师,这个帮忙看一下,谢谢!

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


加好友 发短信
等级:幼狐 帖子:113 积分:1344 威望:0 精华:0 注册:2014/11/12 16:55:00
  发帖心情 Post By:2015/8/30 11:04:00 [只看该作者]

浏览器需要安装预览PDF的插件吧,还有你空间需要支持PDF的扩展


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/30 11:44:00 [只看该作者]

1、必须把pdf下载下来才能打开;

 

2、直接指定address的路径,但必须是本地的。


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


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

可以了,但在每次切换行显示不同的pdf文件时,屏都要闪一下,用了两种红色的代码都无法控制,

If e.Table.Current IsNot Nothing  AndAlso e.Table.Current("附件") IsNot Nothing Then
    Dim s As String = e.Table.Current("附件").replace("/","\")
    Dim ftp As FTPClient = e.Table.Cols("附件").DataCol.FTPClient
    Dim path As String = ProjectPath & "RemoteFiles" & s
    ftp.Download(e.Table.Current("附件"), path, False)
    'e.Table.Form.StopRedraw
    LockBaseMainForm()  '锁定主界面
    Dim web As WinForm.WebBrowser = e.Table.Form.Controls("WebBrowser1")
    web.address = path
    'e.Table.Form.ResumeRedraw
    UnLockBaseMainForm()  '锁定主界面
End If

 

要怎么样做才不会闪?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/30 12:28:00 [只看该作者]

加入msgbox,有可能是是你currentChanged触发了多次了吧?

 

写到positionchanged或者click看看。我测试不会闪


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


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


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

同样会闪,不知道为什么?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/30 15:09:00 [只看该作者]

这样试试

 


Dim web As WinForm.WebBrowser = forms("窗口1").Controls("WebBrowser1")
web.visible = False

web.address = "d:\2.pdf"

web.visible = True


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


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

加上那两句代码后还是一样的会闪一下,没有什么变化,还有其他办法吗,老师?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/31 19:18:00 [只看该作者]

这个是没办法的。要不你试试嵌入窗口

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=73007&skin=0

 

 


 回到顶部