タイプASCIIのtxtファイルをFTPサーバーに送信するためのテスト用のコードを作成しましたが、次のエラーが発生し続けます。
リモート サーバーがエラーを返しました: (501) パラメータまたは引数の構文エラー。
ユーザー名とパスワードが正しいと確信しており、UsePassive を true と false に設定しようとしましたが、同じエラーが発生しました。
以下は私が使用したコードです。
Imports System.IO
Imports System.Text
Imports System.Net
Module Module1
Sub Main()
Dim lPOSByteArray() As Byte
Dim lEncoding As New ASCIIEncoding
Dim lPOSFlatFile As String
lPOSFlatFile = System.IO.File.ReadAllText("C:\\Users\\somebody\\Desktop\\Test.config.XML")
lPOSByteArray = lEncoding.GetBytes(lPOSFlatFile)
Dim lFTPrequest As System.Net.FtpWebRequest
lFTPrequest = DirectCast(WebRequest.Create("ftp://" & "199.222.111.111" & "/" & "Test.txt"), System.Net.FtpWebRequest)
lFTPrequest.Proxy = Nothing
lFTPrequest.Credentials = New NetworkCredential("userxxx", "passyyy")
lFTPrequest.Method = WebRequestMethods.Ftp.UploadFile
lFTPrequest.UseBinary = False
lFTPrequest.UsePassive = True
lFTPrequest.ContentLength = lPOSByteArray.Length
'ERROR happened on following line
Dim lFTPrequestStream As Stream = lFTPrequest.GetRequestStream()
lFTPrequestStream.Write(lPOSByteArray, 0, lPOSByteArray.Length)
lFTPrequestStream.Close()
Dim response As System.Net.FtpWebResponse = DirectCast(lFTPrequest.GetResponse(), System.Net.FtpWebResponse)
End Sub
エンドモジュール