Я работал над сайтом, чтобы клиенты могли отправлять нам файлы данных sftp (используя SharpSSH.dll). Мое решение отлично работает на моей машине для разработки, но как только я перевожу его на рабочий сервер, я не могу загрузить.
Я знаю, что проблема в том, что мой код пытается забрать файл на сервере, когда его там явно не существует, поэтому мне нужны некоторые указатели, чтобы решить эту проблему наилучшим образом - то есть, как мне настроить мой код разрешить загрузку sftp с клиентского компьютера?
План в основном состоит в том, чтобы (и я не совсем уверен, что я поступаю правильно) использовать мой веб-сервер в качестве посредника, чтобы клиент входил в систему и передавал файл на другой сервер. Советы и указатели очень приветствуются - пожалуйста, смотрите код ниже:
transfer = New SecureFileTransfer("IP", "PORT", "NAME", "PASSWORD")
If transfer.putFile(FileUpload.PostedFile.FileName, company & "/" & filename) = True Then
lblMsg.Text = "File upload complete!"
'write data file details to table
writeAudit()
'check which account manager to alert and send email notification
emailNotify()
Else
lblMsg.Text = "File upload has failed - please try again..."
Exit Sub
End If
Public Sub New(ByVal hostname As String, ByVal port As Integer, ByVal username As String, ByVal password As String)
Me._hostname = hostname
Me._port = port
Me._username = username
Me._password = password
End Sub
Public Function putFile(ByVal localFile As String, ByVal remotePath As String) As Boolean
Try
transfer = New Sftp(Me._hostname, Me._username, Me._password)
transfer.Connect(Me._port)
transfer.Put(localFile, remotePath)
transfer.Close()
Return True
Catch ex As Exception
Dim objWriter As New System.IO.StreamWriter("C:\logfile.txt")
objWriter.Write(ex.Message)
objWriter.Close()
Return False
End Try
End Function
Я проверил свои учетные данные sftp и убедился, что доступ с моего веб-сервера к серверу sftp действителен и работает. Мой файл журнала дает мне следующее сообщение об исключении:
Could not find file 'c:\windows\system32\inetsrv\x.txt'.
Я думаю, что, возможно, неправильно понимаю, как здесь работает элемент управления FileUpload, что вполне может быть основной проблемой