以文本方式查看主题

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

--  作者:nxqtxwz
--  发布时间:2020/7/4 14:08:00
--  ftp上传

老师,下面的代码编译通不过,请您给看看哪错了。

 

Dim pic As WinForm.PictureBox = e.Form.Controls("PicView2")
Dim img As Image
e.Form.TimerEnabled = False
If pic.Image IsNot Nothing
    Dim buffer() As Byte = Functions.Execute("GetImageToBytes",pic.Image)
    Dim result As Integer = Functions.Execute("SaveBytesToFile",buffer,"web\\学校档案\\学生照片\\" & Tables("学生名单").Current("学生姓名") & Tables("学生名单").Current("身份证件号") & ".jpg")
    Dim ftp1 As New FtpClient
    ftp1.Host="218.222.157.198:21"
    ftp1.Account = "lyxx-wz"
    ftp1.Password = "xxxxxxx"
    Tables("学生名单").Current("照片") = Tables("学生名单").Current("学生姓名") & Tables("学生名单").Current("身份证件号") & ".jpg"
    If result = 1
        MessageBox.Show("照片保存为: "& Tables("学生名单").Current("学生姓名") & Tables("学生名单").Current("身份证件号") & ".jpg","保存成功")
        e.Form.Close()
    Else
        MessageBox.Show("保存失败","失败")
    End If
Else
    MessageBox.Show("请先拍照!","错误")
End If
e.Form.TimerEnabled = True


--  作者:有点蓝
--  发布时间:2020/7/4 14:26:00
--  
我放到按钮里可以编译。提示什么错误?

下面这段没有啥用,可以去掉
    Dim ftp1 As New FtpClient
    ftp1.Host="218.222.157.198:21"
    ftp1.Account = "lyxx-wz"
    ftp1.Password = "xxxxxxx"

--  作者:nxqtxwz
--  发布时间:2020/7/4 14:37:00
--  
要上传到ftp,不用行吗。
--  作者:nxqtxwz
--  发布时间:2020/7/4 14:41:00
--  

老师,现在编译可以了,但提示下面的错误。

 

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:自定义函数,SaveBytesToFile
详细错误信息:
调用的目标发生了异常。
未能找到路径“D:\\xxsjk(学校数据库)\\web\\学校档案\\学生照片\\马灵薇640381200805313048.jpg”的一部分。

 

 

下面是自定义函数,SaveBytesToFile

\'保存Bytes()到文件
\'参数0 : Bytes()数组
\'参数1 : 文件名

Dim Bytes As Byte() = Args(0)
Dim FileName As String = Args(1)
If Bytes Is Nothing Or FileName = ""
    Return 0
End If
Dim fileStream As System.IO.FileStream = new System.IO.FileStream(FileName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write)
fileStream.Write(Bytes, 0, Bytes.Length)
fileStream.Flush()
fileStream.Close()
fileStream.Dispose()
Return 1



--  作者:有点蓝
--  发布时间:2020/7/4 14:41:00
--  
上传要写完整咯,都没有上传的代码,只是设置了ftp,有啥用

Upload

将文件上传到FTP,语法:

Upload(sourceFileName, destinationFileName, ShowUI)

sourceFileName:要上传的本地文件,含路径
destinationFileName:目标文件,含路径
ShowUI:逻辑型,是否显示上传进度,默认为False。

如果上传成功,返回True,否则返回False

示例

Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If 
ftp1.Upload("c:\\data\\Desert.jpg","\\update\\Desert.jpg") = True Then
    
Messagebox.show("上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
    
Messagebox.show("上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


--  作者:nxqtxwz
--  发布时间:2020/7/4 15:02:00
--  
老师,拍照的照片是不是必须要在本地保存后才能上传呢?
--  作者:有点蓝
--  发布时间:2020/7/4 15:05:00
--  
是必须要在本地保存后才能上传。不可能直接保存到远程服务器的