调用方式:

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上传的方法相关推荐

  1. php 如何做ftp传输,php如何实现ftp上传

    php实现ftp上传的方法:首先通过"ftp_connect"函数连接FTP服务器 :然后使用username和password登录:最后通过"ftp_put()&quo ...

  2. 关于FTP上传方法 (by Liang)

    什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写.该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文 ...

  3. python get 下载 目录_python实现支持目录FTP上传下载文件的方法

    本文实例讲述了python实现支持目录FTP上传下载文件的方法.分享给大家供大家参考.具体如下: 该程序支持ftp上传下载文件和目录.适用于windows和linux平台. #!/usr/bin/en ...

  4. Cisco思科交换机WS-C2960X-24TD-L使用ftp上传更新丢失IOS方法

    现象描述: 因某种特殊原因,导致抹去flash,导致默认启动至rommon模式下,效果如下: 解决方法: 1.首先准备一个FAT32格式的U盘. 2.将官方网站下载的iOS拷贝进U盘. 3.使用命令: ...

  5. FTP上传下载及FTP不支持中文目录解决方法

    直接上代码: ftp上传文件. /** * 上传文件到ftp服务器 * @param host ftp服务器ip地址 * @param port ftp服务器端口号 * @param username ...

  6. asp.net ftp上传文件到服务器,.net 文件上传到服务器上

    详解 Linux 下 SSH 远程文件传输命令 scp 3.将本地文件上传到服务器上 scp-P 2222/home/lnmp0.4.tar.gz root@www.vpser.net:/root/l ...

  7. ACTIVEX实现大文件FTP上传下载---上

    ACTIVEX实现大文件FTP上传 在Windows 操作系统下,有一个重要的机制,就是OLE ,就是可以让某个应用程序(OLE Controller)访问其它应用程序(OLE Server)所提供的 ...

  8. 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:宇的季节 cnblogs.com/chenkeyu/p/80 ...

  9. linux curl 命令 http请求、下载文件、ftp上传下载

    1. curl 命令简介 cURL(CommandLine Uniform Resource Locator),是一个利用 URL 语法,在命令行终端下使用的网络请求工具,支持 HTTP.HTTPS. ...

  10. linux通过ftp自动上传文件到服务器,Linux系统通过FTP上传文件到云服务器

    如何通过FTP将文件上传到腾讯云Linux云服务器?上一篇小编给大家介绍了通过Winscp将文件上传到云服务器的方法,今天小编为大家介绍过FTP将文件上传到腾讯云Linux云服务器的方法,用户需要使用 ...

最新文章

  1. liun5实现DHCP地址分配笔记
  2. mysql数据库安装2017_mysql——概述和安装
  3. 查询空值中的注意事项
  4. python 笔记本_Python笔记本
  5. node mysql await_javascript – node.js async / await与MySQL一起使...
  6. sqlyong导出sql没有数据_sqlyog怎么导入外部数据库-sqlyog导入数据库的方法 - 河东软件园...
  7. Python中 '==' 与'is' 以及它们背后的故事
  8. 处理机调度算法——先来先服务、高优先权、按时间片轮转调度算法,高响应比调度算法
  9. Directx工具修复工具,专注修复C++动态链接DLL文件
  10. [架构之路-42]:目标系统 - 系统软件 - Linux下的网络通信-2-无线局域网WIFI原理、WIFI与3G/4G/以太网/蓝牙的协议转换
  11. 简明外贸报价单(Price List)范本
  12. 高性能计算机介绍,曙光个人高性能计算机介绍
  13. 如何撰写高水平的博士论文?
  14. 几款比较有名的刷流量软件
  15. 黑盒测试方法-----状态转换图
  16. 《方与圆》序人生控制论
  17. 高效发表科技论文的写作方法与技巧
  18. Batch Normation
  19. python IDEL 快捷键
  20. C语言趣味问题系列【1】 猜牌术

热门文章

  1. Android tombstone文件是如何生成的
  2. Ubuntu平台采用Qemu搭建ARM虚拟机环境
  3. 64位程序core分析
  4. VS2012配置FreeImage
  5. python爬取邮件内容_Python实现获取邮箱内容并解析的方法示例
  6. 2003 -服务器没有响应,PowerPoint2003
  7. 用计算机函数,信息技术应用 用计算机画函数图象教案设计(一等奖)
  8. 功夫小子实践开发-基本工具类的分析和实现
  9. KDevelop下如何选择不同的源文件进行执行
  10. Ubuntu12.04使用vi编辑器进入编辑模式按上下键出现乱码