2016-06-28 6 views
0

좋아, 그래서 내 Dropbox에서 URL이 포함 된 TXT 파일을 다운로드하고, 내 바탕 화면에 저장 한 다음 Process.Start(DownloadedFile) 같은 웹 브라우저를 여는 프로그램이 있습니다.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 파일을 다운로드하고 올바르게 이름을 않는 것입니다. 그러나 텍스트 파일에 텍스트가 있음을 알았더라도 프로그램이이를 다운로드하여 "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을 사용해야합니다. 웹 브라우저에서 다운로드 할 수있는 이유는 첫 번째 링크에서 페이지를 처음로드하기 때문에 페이지가 브라우저에 실제 파일로 리디렉션하도록 지시하기 때문입니다.

DropBox를 통한 직접 링크는 dl.dropboxusercontent.com 웹 사이트를 통해 액세스 할 수 있습니다.이 웹 사이트는 파일로 연결되는 링크입니다. dropbox.com/s/... 아직 dl.dropboxusercontent.com/content_link/...

당신이 지금 무슨에서 다운로드 URL 전환이 말한 것보다 조금 짧은 때문에 보관 용은이 시스템을 사용하는 이유는 아마도 : https://dl.dropboxusercontent.com/content_link/Uxdm1CQxQ50LBm5QejnkGLOIXJf8QL2I‌​ui95XjhMUL2Wz4gjzBwiHttuA07RkbOl/file?dl=1 작동합니다.

관련 문제