我正在修復另一個開發人員開發的程序。我試圖解決的問題是,每次程序嘗試上傳文件時,都會返回一個「文件」。未找到(代碼= 550)'。奇怪的是,由於某種原因,實際上的文件實際上傳了......當我收到一個修復代碼的副本時,我自己嘗試了這個程序,它給了我同樣的錯誤,但是這個文件實際上沒有上傳。FTP文件未找到代碼550
代碼Imports Utilities.FTP(我沒有能夠在網上找到很多文檔..),並且在運行ftp.CopyToFTP()之後拋出異常。 CopyToFTP基本上將文件複製到您放置的FTP站點目錄。
有沒有人有任何方法來解決這個問題?或解決方案?
私人小組FtpOutputFile(BYVAL的ATT方式列表(串)) 昏暗inStream中作爲StreamReader的 昏暗parseLn()作爲字符串 昏暗的FTP作爲新Utilities.FTP.FTP()
Try
inStream = New StreamReader(File.OpenRead(Me.Directory & "ftp.dat"))
'Setup FTP object
While inStream.EndOfStream = False
parseLn = Split(inStream.ReadLine(), ",")
Select Case parseLn(0)
Case "Destination"
ftp.Destination = parseLn(1)
Case "Expiration"
ftp.Expiration = parseLn(1)
Case "Host"
ftp.FTP_Host = parseLn(1)
Case "Password"
ftp.FTP_Password = parseLn(1)
Case "Timeout"
ftp.FTP_Timeout = parseLn(1)
Case "UserName"
ftp.FTP_UserName = parseLn(1)
End Select
End While
inStream.Close()
Dim MyEnum As IEnumerator(Of String) = atts.GetEnumerator
While MyEnum.MoveNext 'I added this? Before it was just the directory but this would be the entire file?
ftp.Source = Path.GetDirectoryName(MyEnum.Current) + "\DailyExcel" & DailyDate.ToString("yyyyMMdd") & ".csv"
If Not ftp.CopyToFTP() Then
Throw New Exception(ftp.ErrorMessage)
End If
End While
Catch ex As Exception
Trace.WriteLine(Date.Now.ToString("MM/dd/yyyy HH:mm") & ": " & ex.Message & vbNewLine & ex.StackTrace)
MsgBox(ex.Message())
End Try
End Sub
我。 dat文件如下:
Destination,excelfiles/Test/
Expiration,30
Host,myftp.mydomainname.com
Password,password
Timeout,5000
UserName,username
如果你沒有爲CopyToFTP方法的代碼,你可能會反映裝配 - http://ilspy.net/ –
謝謝你的提示。我能夠更好地理解該方法的效果,它比較了源目錄和FTP目錄,然後將FTP目錄中不存在的文件複製到FTP目錄 –