zoukankan      html  css  js  c++  java
  • vb.net上传文件到FTP服务器

    上传文件到ftp服务器整理:

      声明:以下代码为vb.net代码,使用Visual Studio 2008开发,所有代码均通过测试,可以直接使用。欢迎转载,请注明出处,欢迎拍砖。

    web.config 文件配置, 将用户名,密码和ftp服务器的地址存放到web.config文件:

        <appSettings>
    <add key="UserName" value="superuser"/>
    <add key="PassWord" value="Super2011"/>
    <add key="CompleteFTPPath" value="ftp://10.158.168.167/"/>
    </appSettings>

    文件上传步骤:

      1.读取文件到一个FileStream

      2.设置ftp服务器访问信息,主要是ftp服务器地址,访问ftp服务器的用户名和密码,访问类型,等待时间等待。

      3.在ftp服务器中创建一个空的文件

      3.将源文件读取到byte()数组中

      4.将byte()数组中存放的数据写入到另外一个Stream, 这个stream是我们刚在ftp服务器上创建的空文件

      5.完成写入

    以下是文件上传代码:

    '''<summary>
    ''' upload txt file to specified destination.
    '''</summary>
    '''<remarks></remarks>
    Private Sub uploadFileByFTP()
    'is uploaded
    Dim isUploaded As Boolean = False
    'File path
    Dim fi As New FileInfo(Server.MapPath(".").ToString & "\TestFileFolder\" & strFileName)
    'Create a file in the ftp file server
    Dim reqObj As System.Net.FtpWebRequest
    reqObj = DirectCast(System.Net.WebRequest.Create(ConfigurationManager.AppSettings("CompleteFTPPath") & fi.Name), System.Net.FtpWebRequest)
    'Configure the request methods as uploadfile
    With reqObj
    .Credentials = New Net.NetworkCredential(ConfigurationManager.AppSettings("UserName"), ConfigurationManager.AppSettings("PassWord"))
    .Method = WebRequestMethods.Ftp.UploadFile
    .UseBinary = True
    .ContentLength = fi.Length
    .Timeout = 10 * 1000
    End With
    Try
    Using fsSource As FileStream = New FileStream(Server.MapPath(".").ToString & "\NameplateFile\" & strFileName, FileMode.Open, FileAccess.Read)
    ' Read the source file into a byte array.
    Dim bytes() As Byte = New Byte((fsSource.Length) - 1) {}
    ' Get the length of the source file
    Dim numBytesToRead As Integer = CType(fsSource.Length, Integer)
    Dim numBytesRead As Integer = 0

    While (numBytesToRead > 0)
    ' Read may return anything from 0 to numBytesToRead.
    Dim n As Integer = fsSource.Read(bytes, numBytesRead, _
    numBytesToRead)
    ' Break when the end of the file is reached.
    If (n = 0) Then
    Exit While
    End If
    numBytesRead = (numBytesRead + n)
    numBytesToRead = (numBytesToRead - n)
    End While
    numBytesToRead = bytes.Length
    ' Write the byte array to the ftp file server
    Using fsNew As System.IO.Stream = reqObj.GetRequestStream()
    fsNew.Write(bytes, 0, numBytesToRead)
    isUploaded = True
    End Using
    End Using
          ' upload successfully
           File.Delete(Server.MapPath(".").ToString & "\TestFileFolder\" & strFileName)
    If isUploaded = True Then
    lblMsg.Text = "File uploaded successfully!"
    Else
    lblMsg.Text = ""
    End If
    Catch ex As Exception
    Throw ex
    End Try
    End Sub


    以上是一个简单的上传文件的代码,仅供参考。

    相关链接:

    create a new FTP site  http://learn.iis.net/page.aspx/301/creating-a-new-ftp-site/



  • 相关阅读:
    day25:接口类和抽象类
    vue1
    How the weather influences your mood?
    机器学习实验方法与原理
    How human activities damage the environment
    Slow food
    Brief Introduction to Esports
    Massive open online course (MOOC)
    Online learning in higher education
    Tensorflow Dataset API
  • 原文地址:https://www.cnblogs.com/Dannier/p/ftp.html
Copyright © 2011-2022 走看看