以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]PictureViewer中添加图片并上传到服务器  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99160)

--  作者:haotinghua
--  发布时间:2017/4/13 16:17:00
--  [求助]PictureViewer中添加图片并上传到服务器
设立了一个独立的窗口中放入了PictureViewer控件,增加一个按钮,希望如内置的管理和增加的增加的功能合并
看了帮助的AddFile里面的三个例子并进行了测试,图片应该本地上传了但显示时都是X,
希望实现如下功能:
1\设置一个按钮,可以像内置增加一样,弹出对话框,但是在本地电脑上查找图片
2\图片查找对话框确定后,图片也同时上传到FTP指定目录(如内置管理器指定的目录),同时自动复制到Attachments目录一份,图片能正常显示
3\无需进入内置管理的那种界面,实际上就是想把内置的那些功能锁了(这个我知道怎么解决),然后使用者只可以上传,无法看到后台图片目录
  如果上传中有时间或进度提示更好!
求帮助!
PictureViewerPictureViewer
[此贴子已经被作者于2017/4/13 16:18:39编辑过]

--  作者:有点色
--  发布时间:2017/4/13 16:33:00
--  

1、http://www.foxtable.com/webhelp/scr/0328.htm

 

2、直接调用upload方法

 

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

 

3、你可以把按钮隐藏

 

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

 

4、如果要显示进度

 

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

 


--  作者:haotinghua
--  发布时间:2017/4/13 21:47:00
--  
谢谢版主,按您的提示研究了下,已经完成了!我的思路是先把文件上传到FTP,然后更新绑定字段内容,图片浏览器就自动下载了.
所以里面有一句上传了再从FTP下载的代码实际没有使用,不知道这个逻辑是否正确,是否还有更好的办法?
代码如下:
Dim nm As String
Dim nr As String = Tables("库存商品").Current("图片") \'获取绑定字段当前内容,图片列的Text
Dim ftp1 As New FtpClient
ftp1.Host="xxx.xxx.xx.xxx"   \'IP
ftp1.Account = "xxxx" \'FTP账号
ftp1.Password = "xxxxx" \'FTP密码
ftp1.Port = "xxxx" \'端口号

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
If dlg.ShowDialog = DialogResult.OK Then   
    For Each fl As String In dlg.FileNames     
        nm = Tables("库存商品").Current("货品名称") & Format(Date.now,"MMddHmmss")  \'定义文件名,按时间秒数编号
        If ftp1.Upload( fl ,"\\仓库1\\库存商品\\" & nm & ".jpg") = True Then \'上传图片
            \' ftp1.Download("\\仓库1\\库存商品\\" & nm & ".jpg",ProjectPath & "Attachments\\" & nm & ".jpg")  \'FTP下载,发现可以取消
            If nr <> "" Then  \'如果之前没有图片内容
                nr = nr & vbcrlf & "\\仓库1\\库存商品\\" & nm & ".jpg" 
            Else
                nr = "\\仓库1\\库存商品\\" & nm & ".jpg"
            End If
        Else
            msgbox( fl & "上传失败!",64,"提示")
        End If       \'
    Next
  
    Tables("库存商品").Current("图片") = nr \'替换绑定字段Txet
    Tables("库存商品").Current.Save
End If



--  作者:有点蓝
--  发布时间:2017/4/14 8:36:00
--  
测试之后有什么问题吗?
--  作者:有点色
--  发布时间:2017/4/14 8:39:00
--  

 为什么要上传后下载?如果需要拷贝功能的话,你可以直接拷贝到你的对应文件夹下

 

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

 


--  作者:haotinghua
--  发布时间:2017/4/15 13:57:00
--  
以下是引用有点蓝在2017/4/14 8:36:00的发言:
测试之后有什么问题吗?
测试后一切正常,谢谢!