2012-03-27 14 views
0

私は、クライアントが(SharpSSH.dllを使用して)データファイルをsftpに送信するサイトを作っています。私のソリューションは開発マシンでうまく動作しますが、プロダクションサーバーにアップロードできません。SFTP with VB.NET - サーバーからのアップロード問題

私のコードはサーバー上にファイルが存在しないときにコードを取得しようとしているため、この問題を解決するための最良の方法についていくつかのポインタが必要です。クライアントマシンからsftpのアップロードを許可するコード?

計画は、基本的には(私はこれについて正しい方法で行っていることを完全には確信していません)クライアントがログオンして別のサーバーにファイルを送信するように、私のWebサーバーを中断して使用します。アドバイスやポインタは非常に歓迎している - 以下のコードを参照してください。

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の資格情報をチェックして、私のWebサーバからSFTPサーバへのアクセスが有効で動作していることを確認してきました。うまく

答えて

0

が、私はわからないんだけど、問題の核心かもしれ私はのFileUploadコントロールは、ここでどのように機能するかを誤解することができると思います

Could not find file 'c:\windows\system32\inetsrv\x.txt'. 

:私のログファイルには、私に次の例外メッセージを与えています正確な問題はありますが、あなたのコードをテストしてうまくいけば、これは問題を探し始める最初の場所ではないと言います。私はFTPサーバーの設定から始めます。

希望すると便利です。

+0

こんにちは、私に戻ってくれてありがとう - テスト用のファイルが自分のコードと同じマシンに存在するように、マシン上で自分のコードをローカルでテストしただけです。問題は、サーバーがクライアントマシン上のアップロードファイルを見ることができないので、(一時的に)このファイルをWebサーバーに安全に移動し、SFTPサーバーに移動する方法を知る必要があることです。 – allanmayberry88

関連する問題