2015-09-19 5 views
1

Я пытаюсь загрузить файл с веб-сайта с помощью Visual Basic с использованием следующего кода, но я все равно получаю диалоговое окно accept overrite. Есть ли способ, чтобы Windows не представляла диалог перезаписи файлов? Я не уверен, почему это происходит, потому что я изменил значение по умолчанию на true.Visual Basic DownloadFile не перезаписывает

My.Computer.Network.DownloadFile(
      "http://example.com", 
      "C:\download_location", 
      userName:=String.Empty, 
      password:=String.Empty, 
      showUI:=False, 
      connectionTimeout:=100000, 
      overwrite:=True) 
+3

Как удалить файл перед загрузкой. –

+0

Хорошая идея, спасибо Vinay – Pat

ответ

1

Related MSDN article говорит:

ShowUI
Boolean. Указывает, следует ли отображать ход операции. Значение по умолчанию - False.

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

Vinay Pandey suggested, чтобы отключить диалоговое окно с вопросом, предварительно удалите файл самостоятельно. Это также дает одно существенное преимущество: если у существующего файла есть какие-либо проблемы (недостаточные разрешения, незавершенные блокировки файлов), если силы вы (как программист), чтобы справиться с ними до начала загрузки. Я имею в виду, что всегда лучше справляться с этими вещами самостоятельно, чем полагаться на какое-то действие с черным ящиком.

If IO.File.Exists(exampleName) Then IO.File.Delete(exampleName) ' plus error handling 

... а также против случай, если там уже есть каталог с этим именем файла (например, каталог с именем file.txt).