2009-11-20 2 views
0

Я хочу загрузить файл и сохранить его локально без всплывающих окон, чтобы пользователь мог выбрать местоположение с момента его предопределения. Формат файла, скорее всего, будет PDF. Загрузка пути к файлу будет URL-адресом, и я хочу сохранить его локально. Я работаю вот так:Открыть файл и сохранить

string fileName = "http://mail.example.com/download.asp?saveFile=example.pdf"; 

BinaryReader binReader = new BinaryReader(File.Open(fileName, FileMode.Open)); 

string path = "C:\\Domains\\shared.example.com\\pdf\\example.pdf"; 

using (BinaryWriter Writer = new BinaryWriter(new FileStream(path,FileMode.OpenOrCreate))) 
{ 
    Writer.Write(binReader); 
} 
+0

Похоже, C#/NET, но вы должны указать язык/рамки ... – 2009-11-20 15:34:10

+0

Мои плохие парни C#/NET – 2009-11-20 15:38:57

+0

рассмотреть возможность использования более имен. binReader -> binWriter вместо Writer. fileName - это URL (или путь). Я предлагаю, String downloadPath, savePath – RvdK

ответ

1

Это проще:..

WebClient wc = new WebClient(); 
wc.DownloadFile(filename, path); 
-1

Вы должны пометить, какой язык вы используете.

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

+0

Собственно, он никогда не упоминал об использовании браузера. И вы можете скачать _anything_ из Интернета без ведома пользователя, так как на самом деле ничего не мешает (Брандмауэр или Вирус-сканер). – Bobby

+0

Я буду помнить об этом в своем следующем посте. * Примечание к себе, чтобы избежать путаницы, было более наглядным * – 2009-11-20 16:12:55

0

Нет, это не работает, так что вам придется использовать WebRequest-Class для получения файла.

Бобби

0

Использование

new WebClient().DownloadFile("http://url/name.pdf", @"C:\locationOnFilesystem.pdf"); 

Вы можете использовать DownloadFileAsync сделать это без блокировки вашего основного потока. Прикрепите обработчики событий к WebClient, чтобы сообщить о прогрессе, например DownloadProgressChanged и DownloadFileCompleted.

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