Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > скачать файл с компьютера


Автор: uranpro 7.10.2009, 17:24
добрый день!
есть файл на диске сервера, допустим, C:\XXX\X.exe, как его скачать ?
делаю
Код

Response.Redirect(@"C:\XXX\X.exe");

не получается =(

Автор: 2xmax 7.10.2009, 21:03
вот так-общий шаблон для всех файлов:
Код

Response.ContentType="application/exe";

        Response.AddHeader( "content-disposition","attachment; filename=filename");

        FileStream sourceFile = new FileStream(@"E:\1.exe", FileMode.Open);

        long FileSize;

        FileSize = sourceFile.Length;

        byte[] getContent = new byte[(int)FileSize];

        sourceFile.Read(getContent, 0, (int)sourceFile.Length);

        sourceFile.Close();

        Response.BinaryWrite(getContent);

Автор: Любитель 7.10.2009, 22:39
Если не нужна статистика запросов, ограничение доступа или чтото там ещё, то самый лучший способ будет просто положить этот файл внутрь фолдеров сервера и вернуть линк на него.

Цитата(uranpro @  7.10.2009,  17:24 Найти цитируемый пост)
Response.Redirect(@"C:\XXX\X.exe");

Как клиент (браузер) получит доступк к диске сервера?

Автор: Edd 8.10.2009, 09:30
Продолжая тему. Возникла следующая проблема:
На страничке кликаем на кнопку "Download". По кнопке открывается другая страница (отдельно).
Код

                Response.Write("<script>");
                Response.Write("window.open('DownloadPage.aspx','_blank')");//otkrivajem otdelno stranicu
                Response.Write("</script>");

На этой странице должен появится какойнибудь текст, и через пару секунд появится диалоговое окно для скачивания (файл генерируется).
Код

                byte[] buffer = Funkcija();
                Response.BufferOutput = true;
                Response.AddHeader("Content-Disposition", "attachment;filename=File.zip");
                Response.OutputStream.Write(buffer, 0, buffer.Length);

К сожалению, никак не получается добитса того, чтобы страница полность загрузилась, и файл можно было скачать.
Пробовал и таймер, и другие анологичные способы. Или страница загружается и таймер как то валетает, или наоборот, без загрузки, сразу скачать можно.
Что посоветуете в решении проблемы?

Автор: uranpro 8.10.2009, 11:57
ВСЕМ СПАСИБО ОГРОМНОЕ!) помогло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)