2013-11-15 2 views
0

В настоящее время я генерирующее файл XML для загрузки с помощью полей, размещенного со следующим кодом:Загрузить динамически созданный XML-файл с помощью SFTP руководства

string attachment = "attachment; filename=" + FileName + ".xml"; 
    Response.ClearContent(); 
    Response.ContentType = "application/xml"; 
    Response.AddHeader("content-disposition", attachment); 
    Response.Write(Session["FileForDownload"]); 
    Response.End(); 

Это работает отлично.

Однако я хочу, чтобы sftp загрузил сгенерированный файл в указанный каталог на сервере.

Я имел успех в соединении с использованием ssh.net и удалось создать новый каталог и т.д.

Мой вопрос, как я могу создать файл, а затем SFTP его с помощью ssh.net?

Я пробовал использовать поток файлов без успеха. Я предполагаю, что файл должен быть временно сохранен, а затем извлечен для загрузки.

Это мой текущий сегмент кода для указанной задачи:

 SftpClient sftp = new SftpClient("host", "user", "pwd"); 
     sftp.Connect(); 
     sftp.ChangeDirectory("directory/"); 
     Stream fs = File.OpenRead(Server.MapPath(@"filetobeuploaded")); 
     sftp.UploadFile(fs, Session["FileName"].ToString()); 
     sftp.Disconnect(); 

Я признаю, что не будет файл уже на сервере для загрузки.

Любая помощь будет высоко оценена, так как это заключительная часть головоломки в моем приложении.

Приветствия

+0

Просто подумал. Я могу создать временный файл на сервере, загрузить, а затем удалить. Это, конечно, не самый эффективный способ? – ED92

+0

Как выполняется ваша операция? я имею в виду, хотите ли вы создать xml и немедленно загрузить его на SFTP-сервер? или вы генерируете XML где-нибудь и загружаете его из другого места в свой код? – SoftSan

ответ

0

Исправлено: Я нашел решение, создавая временный XML-файл на сервере, загрузки и удаления. Спасибо за ваш ответ в любом случае

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