2011-08-08 3 views
0

C#으로 sftp 파일을 저장하려고합니다. 나는 found this example on SaveFileDialog 가지고 있지만 나는SFTP 도움말. C#에서 파일 저장

이 올바른 방법이다 (나는 존재하지 않는 말을 SaveFileDialog를 사용하려고 내가 문제를 해결할 수 없을 때마다 사실, 난 오류가) 내 응용 프로그램에서 동작하지 않습니다 파일을 저장 하시겠습니까? 버튼을 클릭하지 않고 다른 위치에서 sftp 파일을 가져 와서 로컬에 저장하면 일부 명령을 실행할 수 있습니다.

도움이 될 경우 Microsoft Visual Studio 2010을 사용하고 있습니다.

편집 : 내가보기에 사람들과 혼동을 일으켰다. 다음은 파일을 가져 오는 방법입니다.

protected void Page_Load(object sender, EventArgs e) 
    { 
    Sftp sftp = new AmexSFTP.src.Sftp(Config.sSFTPUrl, 
            Config.sSFTPAccount, 
            Config.sSFTPPasswd); 
    // Connect to SFTP server 
    sftp.Connect(); 

    List<string> InputFiles = sftp.GetFileList("output"); 

    //Save files in for each loop here... 
    ....} 

    public Sftp(string sftpHost, string user, string password) 
     : base(sftpHost, user, password) 
    { 
     Init(); 
    } 

    private void Init() 
    { 
     m_monitor = new MyProgressMonitor(this); 
    } 

    public List<string> GetFileList(string path) 
    { 
     List<string> list = new List<string>(); 
     foreach (Tamir.SharpSsh.jsch.ChannelSftp.LsEntry entry in SftpChannel.ls(path)) 
     { 
      list.Add(entry.getFilename().ToString()); 
     } 
     return list.ToList(); 
    } 

아마도 SaveFileDialog가 올바르지 않습니까? 그것은 모든 Google 검색 결과에서 찾은 것이므로 생각했습니다.

감사합니다.

+0

OpenFile이 실제로 파일을 만드나요? – mtijn

+0

사용자가 대화 상자를 보도록 하시겠습니까? 아니면 사용자가 입력하지 않고 파일을 저장할 수 있습니까? –

+0

@ James- 사용자 입력없이 파일을 저장하려고합니다. 파일은 액세스하려는 다른 SFTP 사이트에 저장됩니다. @ mtijn-이 코드를 사용하여 파일을 가져옵니다. : List list = new List (); foreach (Tamir.SharpSsh.jsch.ChannelSftp.LsEntry entry in SftpChannel.ls (path)) {list.Add (entry .getFilename(). ToString());} return list.ToList(); ' –

답변

0

나는 당신이 약간 혼란 스럽다고 생각합니다. Page_Load() 메서드가 ASP.NET WebForms 프로젝트의 일부라고 착각하지 않는 한. 그렇다면 압축 기술입니다. SaveFileDialog는 웹 페이지의 코드 숨김 코드가 아닌 클라이언트 응용 프로그램에 일반적으로 사용되는 WinForms 컨트롤입니다.