2012-03-27 2 views
0

Я работаю над сайтом, чтобы позволить клиентам sftp файлы данных нам (используя SharpSSH.dll). Мое решение отлично работает на моей машине разработки, но как только я перемещаюсь это на рабочий сервер, который я не могу загрузить.SFTP с VB.NET - выгрузка по серверной проблеме

Я знаю, что проблема в том, что мой код пытается найти файл на сервере, когда он, очевидно, не существует, поэтому мне нужны некоторые указатели на лучший способ разрешить это - то есть, как мне настроить мои код, позволяющий загружать 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 здесь, который вполне может быть суть проблемы

ответ

0

Я не уверен, что Точная проблема, но я бы сказал, что если вы протестировали свой код и счастливы, что это работает, то это не первое место, чтобы начать искать проблемы. Я бы начал с конфигурации FTP-сервера.

Надеюсь, это поможет!

+0

Привет, спасибо за возвращение ко мне - я только проверил свой код на своей машине локально, чтобы файл загрузки теста существовал на той же машине, что и мой код. Проблема заключается в том, что сервер не может видеть файл загрузки на клиентском компьютере, поэтому мне нужно выяснить, как (временно) безопасно переместить этот файл на веб-сервер, а затем на мой SFTP-сервер (надеюсь, что это имеет смысл!) – allanmayberry88

Смежные вопросы