Member 10949531 Ответов: 0

Как скачать файл с ftp-сервера при нажатии на кнопку?


When i use this code click on asp.Button then all operation correct but file not download. Please help me


Что я уже пробовал:

FtpWebRequest request1 = null;
            request1 = (FtpWebRequest)WebRequest.Create(ftpServerIP + Session["appid"] + "/" + fname);

            //Enter FTP Server credentials.
            request1.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
            request1.UsePassive = true;
            request1.UseBinary = true;
            request1.EnableSsl = false;
            request1.Method = WebRequestMethods.Ftp.DownloadFile;
            //Fetch the Response and read it into a MemoryStream object.
            FtpWebResponse response1 = (FtpWebResponse)request1.GetResponse();
            using (MemoryStream stream = new MemoryStream())
            {
                //Download the File.
                response1.GetResponseStream().CopyTo(stream);                
                Response.AddHeader("content-disposition", "attachment;filename=" + fname);
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.BinaryWrite(stream.ToArray());
                Response.End();
            }

F-ES Sitecore

Мы не можем запустить ваш код в вашем контексте, поэтому мы не знаем. Начните с отладки кода, чтобы вы могли задать более подробный вопрос. Это запроса1, на что вы рассчитываете, это допустимый URL-адрес, Идентификатор AppID писать? Является ли response1 тем, что вы ожидаете? Копирует ли метод CopyTo файл в поток, как вы ожидаете? Это "поток.ToArray()" возвращает двоичный файл, как вы ожидаете? Вы даже не гуглили, как написать файл с помощью BinaryWrite? Соответствует ли код, который работает, вашему коду? Вы действительно генерируете какой-то отклик? Вы использовали такой инструмент, как fiddler, чтобы увидеть содержание этого ответа? Все так, как вы ожидаете?

Suvendu Shekhar Giri

Попробуйте сузить свое расследование, посмотреть, есть ли исключение, и поделиться этим конкретным случаем, а не широким сценарием, который нам трудно определить.

0 Ответов