URL como FileName no OpenFileIDialog C #

No meu formulário de ganhar c # eu uso um OpenFileDialog para os usuários selecionarem um arquivo para salvar. Quando o usuário especificou um arquivo de URL como http://www.xyz.com/qdms/MyFile.PDF OpenFileDialog faz o download do arquivo e fornece o arquivo baixado de OpenFileDialog.FileName , como C:\Documents and Settings\MyName\Local Settings\Temporary Internet Files\Content.IE5\GPIR4TYV\QDMS4[3].PDF e trava muito tempo.

Existe alguma maneira de obter http://www.xyz.com/qdms/MyFile.PDF como OpenFileDialog.FileName quando o usuário insere um caminho de url?

e trava muito tempo

Um “hang” tem um significado bem definido, ocorre quando um programa não responde à input do usuário, normalmente também sofre com a pintura de artefatos e sua UI é substituída pela janela fantasma, aquela que diz “Não está respondendo” na barra de título.

Nada disso acontece no OpenFileDialog. Ele simplesmente desativa a input, mas mantém o botão Cancelar operável enquanto o download está em andamento. Uma barra de progresso teria sido boa, mas não é um widget incluído na checkbox de diálogo. Nada trava, o usuário pode acionar o Solitair e a checkbox de diálogo fica bem quando ele volta. Se ele se cansar de esperar, pressionar o botão Cancelar funcionará bem.

Nenhum usuário jamais ficará desconcertado com isso. Você pode usar o evento FileOk para examinar o arquivo selecionado antes de iniciar o download e exibir um aviso de que pode demorar um pouco. No entanto, isso não é muito útil, já que você não tem como estimar quanto tempo levará e provavelmente esgotará o usuário com uma frase “Eu sei, eu sei, pare de me contar sobre o óbvio”. Melhor para evitar ajudar aqui, você pode, se quiser.

Eu não acredito que haja. Quando o Windows reconhece que o valor typescript é um endereço de protocolo da Internet, ele será baixado para uma pasta temporária e usado esse nome de arquivo para ser mostrado / selecionado na checkbox de diálogo de arquivo. A única outra maneira seria (e design bobo) pedir ao usuário para inserir uma URL primeiro em uma checkbox de diálogo personalizada, depois pegar esse valor e armazená-lo. Por fim, defina o nome do arquivo na checkbox de diálogo e abra-o … veja se ele faz o download. quando isso acontecer e o usuário clicar em “OK”, pegue o caminho e substitua o nome do arquivo pelo que o usuário inseriu anteriormente na checkbox de diálogo antes de abrir a checkbox de diálogo de arquivos abertos.