2016-06-28 5 views
0

私はDropboxからのURLのみを含むTXTファイルをダウンロードし、デスクトップに保存してからProcess.Start(DownloadedFile)のようなWebブラウザを開くプログラムを用意しました。TXTをダウンロードして読み込むにはどうすればよいですか?

Dim path As String = "C:\Users\" & SystemInformation.UserName & "\Desktop" 
My.Computer.Network.DownloadFile("https://www.dropbox.com/s/uy9jpt1em3o6khp/download_location.txt?dl=1", path + "\" + "Download_Location" + ".txt") 

Dim fileReader As String 
fileReader = My.Computer.FileSystem.ReadAllText(path + "\Download_Location.txt") 
Process.Start(fileReader) 

今私の問題は、プログラムが私のtxtファイルをダウンロードし、それを正しく名前DOES、ということである:

私のコードは次のようになります。しかし、テキストファイルにテキストがあることがわかっていても、プログラムがそれをダウンロードし、それを "Download_Location.txt"という名前のデスクトップに保存すると、それは空です。ダウンロードされたファイルは、URLテキストが必要であることを100%確信したとしても、テキストを表示しません。

そして、私のプログラムは、それは私にエラーを与えるProcess.Start(fileReader)コードに達したとき:

You can not start the process because no file name is specified.

おかげでたくさん!そして、私の悪い英語のために申し訳ありません。

+0

あなたがあなたの 'path'変数を構築するときに'& 'で文字列を連結するのはどうでしょうか? '+'演算子の使用に関連する問題を避けるので、文字列を連結する際には常にアンパサンド( '&')を使用するべきです。 –

+0

あなたの提案を試してみましたが、それと同じエラーです。 (https://www.dropbox.com/s/uy9jpt1em3o6khp/download_location.txt?dl=1)にアクセスしようとすると、ダウンロードしたTXTファイルが表示され、URLが含まれていますが、プログラムがファイルをダウンロードすると、それは空です。あなたの提案をありがとう –

+0

私はあなたの問題を解決するだろうと言ったことはありません、私はちょうどプラス文字が問題を引き起こす可能性があります文字列を連結するときにアンパサンドを使用する方が良い習慣を言った。 –

答えて

0

URLを介してファイルをダウンロードする場合は、指定したURLを正確にダウンロードするため、直接URLを使用する必要があります。 Webブラウザからダウンロードできるのは、まず最初のリンクからページをロードするため、ページはブラウザに実際のファイルにリダイレクトするように指示するためです。

DropBoxによる直接リンクは、dl.dropboxusercontent.comウェブサイトからアクセスできます。これは、ファイルへの直接リンクを取得するために必要なものです。 https://dl.dropboxusercontent.com/content_link/Uxdm1CQxQ50LBm5QejnkGLOIXJf8QL2I‌​ui95XjhMUL2Wz4gjzBwiHttuA07RkbOl/file?dl=1動作するはずです:dropbox.com/s/...はまだにあなたが今持っているものからあなたのダウンロードURLを切り替え、これは言ってdl.dropboxusercontent.com/content_link/...

より少し短いので、Dropboxのがこのシステムを使用する理由は、おそらくです。

関連する問題