C#下载-有趣的错误
我目前正在用C#编写一个补丁程序,但有一个有趣的错误。 在代码中,所有链接和文件名都有一个循环,程序需要下载它们。代码:(fájlNév=fileName,letöltött=download,összes=all,JelenlegiLetöltés=CurrentDownload,állás=state)C#下载-有趣的错误,c#,download,C#,Download,我目前正在用C#编写一个补丁程序,但有一个有趣的错误。 在代码中,所有链接和文件名都有一个循环,程序需要下载它们。代码:(fájlNév=fileName,letöltött=download,összes=all,JelenlegiLetöltés=CurrentDownload,állás=state) 私有无效按钮1\u单击(对象发送者,事件参数e) { WebClient myWebClient=新WebClient(); string[]remoteUrl=新字符串[4]{”http
私有无效按钮1\u单击(对象发送者,事件参数e)
{
WebClient myWebClient=新WebClient();
string[]remoteUrl=新字符串[4]{”https://www.dropbox.com/s/62tt9w194xefk7t/", "https://www.dropbox.com/s/spni307vmk4zng9/", "https://www.dropbox.com/s/fsa29pelfwgk5ha/", "https://www.dropbox.com/s/mcn0wy2te4zqj1i/" };
string[]fájlNév=新字符串[4]{“alut.dll”、“DevIL.dll”、“fltkdll.dll”、“glew32.dll”};
字符串fájlNévAlap=“BlackBox.dll”,WebResource=null;
int letöltött=0;
intössz=remoteUrl.Length;
对于(inti=0,x=0;i
所以,问题是,程序只下载第一个文件(4次),其他3个文件只是第一个文件的重命名版本。
有人能说出问题出在哪里吗
谢谢,
汤姆科
下面是一张显示错误的图片:(如您所见,所有文件的大小都等于第一个文件的大小)我刚刚尝试将此代码复制到LINQPad中并运行它(进行了一些小的修改,主要是重命名变量,以便我可以轻松地读取它们),并注意到“文件”下载的是一个HTML转储…这也是你看到的吗 乍一看,您使用的简单URI似乎不足以用作下载链接—HTML blob中的链接有额外的查询字符串参数,如哈希等 HTML中的示例链接:
https://dl.dropbox.com/s/62tt9w194xefk7t/alut.dll?token_hash=AAHQmybYdR44TRrS9bWQWV7jlZBzZQ-mmmjNy1Kv_qR4cg&dl=1
去掉i或x。在你的代码中,没有任何情况下,它们的值不相等。所以不要因为两者都有而混淆。谢谢,但我认为我不能将数组技术用于这种类型的链接。也许我需要将所有链接放在不同的字符串中?@Tomc0看起来比这更复杂一点-简单“dropbox url+文件名”格式的信息不足以指向实际文件;我猜dropbox需要允许访问“会话”的某些方面(因此我发布的url中的令牌哈希)但是为什么它可以下载第一个文件?@Tomc0你检查过它正在下载的文件吗?我敢打赌它实际上就是那个HTML文件。哦,对不起,你说得对。那是一个HTML文档。谢谢。(或者php,我不知道)然后我需要更改代码。但是我不知道如何更改,因为我不想要20个字符串:s
https://dl.dropbox.com/s/62tt9w194xefk7t/alut.dll?token_hash=AAHQmybYdR44TRrS9bWQWV7jlZBzZQ-mmmjNy1Kv_qR4cg&dl=1