以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 实现ftp文件上传自动分行存放和图片上传前压缩 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=76237) |
-- 作者:wuzhouji -- 发布时间:2015/10/24 17:30:00 -- 实现ftp文件上传自动分行存放和图片上传前压缩 实现的主要功能: 1、向ftp上传文件时自动分门别类地存放到数据表每条记录对应的单独的文件夹,而不是都放在一个文件夹里,需要自己单独做个ftp文件管理器,窗体代码暂略; 2、可以上传多种格式的文件,但是在上传jpg格式的文件前,会将其压缩到300*300之后再上传,节省ftp存储空间和网络带宽。 Dim dlg As new OpenFileDialog If dlg.ShowDialog = DialogResult.OK Then Dim xg As Integer = dlg.FileName.LastIndexOf("\\") Dim fname As String = dlg.FileName.SubString(xg + 1) \'获取所选文件名称 ABC.jpg Dim ifo As new FileInfo(dlg.filename) Dim ftp As new FTPClient ftp.host="×××.×××.×××." ftp.account="XXX" ftp.password="XXXX" ftp.changedir("\\小修明细\\") Dim fp As String = "小修明细" & Tables("小修明细").Current("序号") Dim sts As List(of String) = ftp.GetFileList(fp) \'获取当前目录的文件列表 If FileSys.DirectoryExists("C:\\temp")=False Then \'如果目录C:\\temp存在 FileSys.CreateDirectory("C:\\temp") End If If Ifo.Extension="jpg" Then Dim file As String = dlg.filename Dim img As image = getImage(file) Dim bmp As new bitmap(img, 300, 300 * (img.height / img.width)) bmp.save("c:\\temp\\" & fname) bmp.Dispose End If For Each st As String In sts If st = fname Then MessageBox.Show("服务器上存在同名文件!","提醒") Return \'这里是简化了操作,读者可以自己做是否覆盖的功能 End If Next e.Form.text = "文件管理器 文件上传中...." If Ifo.Extension="jpg" Then If ftp.Upload("c:\\temp\\" & fname,fp & "\\" & fname) = True Then \'若成功上传 Functions.Execute("刷新ListView") e.Form.text = "文件管理器" MessageBox.Show("上传成功!","提醒") Else MessageBox.Show("上传失败!","提醒") e.Form.text = "文件管理器" End If FileSys.DeleteFile("c:\\temp\\" & fname,2,2) Else If Ifo.Extension <> "jpg" Then If ftp.Upload(dlg.filename,fp & "\\" & fname) = True Then \'若成功上传 Functions.Execute("刷新ListView") e.Form.text = "文件管理器" MessageBox.Show("上传成功!","提醒") Else MessageBox.Show("上传失败!","提醒") e.Form.text = "文件管理器" End If End If Dim c As List(of String) = ftp.GetFileList(fp) Dim a As Integer=c.count Tables("小修明细").current("文件")="附件数:" & a End If 同时,对paullqxp 表示感谢,目前所做的供作离不开他的指导 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=53388
|
-- 作者:大红袍 -- 发布时间:2015/10/26 10:43:00 -- mark |
-- 作者:ljz -- 发布时间:2015/11/12 10:33:00 -- ![]() |