В настоящее время я генерирующее файл 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();
Я признаю, что не будет файл уже на сервере для загрузки.
Любая помощь будет высоко оценена, так как это заключительная часть головоломки в моем приложении.
Приветствия
Просто подумал. Я могу создать временный файл на сервере, загрузить, а затем удалить. Это, конечно, не самый эффективный способ? – ED92
Как выполняется ваша операция? я имею в виду, хотите ли вы создать xml и немедленно загрузить его на SFTP-сервер? или вы генерируете XML где-нибудь и загружаете его из другого места в свой код? – SoftSan