VB.Net实现Ftp上传的方法
调用方式:
UploadFile("d:\lob.rar", False) ' 2个参数分别为 准备上传的文件完整路径、是否续传
功能函数:
Public Sub UploadFile(ByVal Str_LocalFileName As String, ByVal Bool_Resume As Boolean)
Dim LobSocket As Socket
Dim offset As Long
Dim input As FileStream
Dim bFileNotFound As Boolean
If (Not Logined()) Then
Logined()
End If
LobSocket = CreateDataSocket()
offset = 0
If (Bool_Resume) Then
Try
SetBinaryMode(True)
offset = GetFileSize(Str_LocalFileName)
Catch ex As Exception
offset = 0
End Try
End If
If (offset > 0) Then
SendCommand("REST " & offset)
If (Int_Reply <> 350) Then
offset = 0
End If
End If
SendCommand("STOR " & Path.GetFileName(Str_LocalFileName))
Str_Reply = ServerReply(True)
Int_Reply = Int32.Parse(Str_Reply.Substring(0, 3))
If (Not (Int_Reply = 125 Or Int_Reply = 150)) Then
MsgBox(Str_Reply.Substring(4))
End If
bFileNotFound = False
If (File.Exists(Str_LocalFileName)) Then
input = New FileStream(Str_LocalFileName, FileMode.Open)
If (offset <> 0) Then
input.Seek(offset, SeekOrigin.Begin)
End If
Int_Bytes = input.Read(Byte_Buffer, 0, Byte_Buffer.Length)
Do While (Int_Bytes > 0)
LobSocket.Send(Byte_Buffer, Int_Bytes, 0)
Int_Bytes = input.Read(Byte_Buffer, 0, Byte_Buffer.Length)
Loop
input.Close()
Else
bFileNotFound = True
End If
If (LobSocket.Connected) Then
LobSocket.Close()
End If
If (bFileNotFound) Then
MsgBox(Str_LocalFileName & "文件未找到,无法上传")
End If
Str_Reply = ServerReply(True)
Int_Reply = Int32.Parse(Str_Reply.Substring(0, 3))
If (Not (Int_Reply = 226 Or Int_Reply = 250)) Then
MsgBox(Str_Reply.Substring(4))
End If
End Sub
Public Function GetFileSize(ByVal sFileName As String) As Long
Dim size As Long
SendCommand("SIZE " & sFileName)
size = 0
Str_Reply = ServerReply(True)
Int_Reply = Int32.Parse(Str_Reply.Substring(0, 3))
If (Int_Reply = 213) Then
size = Int64.Parse(Str_Reply.Substring(4))
Else
MsgBox(Str_Reply.Substring(4))
End If
Return size
End Function
转载于:https://www.cnblogs.com/NetPig/archive/2011/07/03/2096802.html
VB.Net实现Ftp上传的方法相关推荐
- php 如何做ftp传输,php如何实现ftp上传
php实现ftp上传的方法:首先通过"ftp_connect"函数连接FTP服务器 :然后使用username和password登录:最后通过"ftp_put()&quo ...
- 关于FTP上传方法 (by Liang)
什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写.该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文 ...
- python get 下载 目录_python实现支持目录FTP上传下载文件的方法
本文实例讲述了python实现支持目录FTP上传下载文件的方法.分享给大家供大家参考.具体如下: 该程序支持ftp上传下载文件和目录.适用于windows和linux平台. #!/usr/bin/en ...
- Cisco思科交换机WS-C2960X-24TD-L使用ftp上传更新丢失IOS方法
现象描述: 因某种特殊原因,导致抹去flash,导致默认启动至rommon模式下,效果如下: 解决方法: 1.首先准备一个FAT32格式的U盘. 2.将官方网站下载的iOS拷贝进U盘. 3.使用命令: ...
- FTP上传下载及FTP不支持中文目录解决方法
直接上代码: ftp上传文件. /** * 上传文件到ftp服务器 * @param host ftp服务器ip地址 * @param port ftp服务器端口号 * @param username ...
- asp.net ftp上传文件到服务器,.net 文件上传到服务器上
详解 Linux 下 SSH 远程文件传输命令 scp 3.将本地文件上传到服务器上 scp-P 2222/home/lnmp0.4.tar.gz root@www.vpser.net:/root/l ...
- ACTIVEX实现大文件FTP上传下载---上
ACTIVEX实现大文件FTP上传 在Windows 操作系统下,有一个重要的机制,就是OLE ,就是可以让某个应用程序(OLE Controller)访问其它应用程序(OLE Server)所提供的 ...
- 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:宇的季节 cnblogs.com/chenkeyu/p/80 ...
- linux curl 命令 http请求、下载文件、ftp上传下载
1. curl 命令简介 cURL(CommandLine Uniform Resource Locator),是一个利用 URL 语法,在命令行终端下使用的网络请求工具,支持 HTTP.HTTPS. ...
- linux通过ftp自动上传文件到服务器,Linux系统通过FTP上传文件到云服务器
如何通过FTP将文件上传到腾讯云Linux云服务器?上一篇小编给大家介绍了通过Winscp将文件上传到云服务器的方法,今天小编为大家介绍过FTP将文件上传到腾讯云Linux云服务器的方法,用户需要使用 ...
最新文章
- liun5实现DHCP地址分配笔记
- mysql数据库安装2017_mysql——概述和安装
- 查询空值中的注意事项
- python 笔记本_Python笔记本
- node mysql await_javascript – node.js async / await与MySQL一起使...
- sqlyong导出sql没有数据_sqlyog怎么导入外部数据库-sqlyog导入数据库的方法 - 河东软件园...
- Python中 '==' 与'is' 以及它们背后的故事
- 处理机调度算法——先来先服务、高优先权、按时间片轮转调度算法,高响应比调度算法
- Directx工具修复工具,专注修复C++动态链接DLL文件
- [架构之路-42]:目标系统 - 系统软件 - Linux下的网络通信-2-无线局域网WIFI原理、WIFI与3G/4G/以太网/蓝牙的协议转换
- 简明外贸报价单(Price List)范本
- 高性能计算机介绍,曙光个人高性能计算机介绍
- 如何撰写高水平的博士论文?
- 几款比较有名的刷流量软件
- 黑盒测试方法-----状态转换图
- 《方与圆》序人生控制论
- 高效发表科技论文的写作方法与技巧
- Batch Normation
- python IDEL 快捷键
- C语言趣味问题系列【1】 猜牌术