问题标签 [downloadfileasync]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - vb.net winforms 下载无阻塞
我正在下载 .mp3 文件,我的目标是在下载过程中甚至没有最低限度的 GUI 冻结。我的目标也是在进度条和标签中显示收到的叮咬。此代码正在运行,但有时会无缘无故地冻结,有时进度条在文件完全完成之前不起作用。到目前为止,这是我在网上找到的“最佳”代码,用于在下载过程中完全工作的进度条,但仍然存在问题。你觉得我怎样才能提高成绩?如何制作耐久且可靠的工作进度条?如何在不冻结 GUI 的情况下下载大文件?我尝试(好奇)下载一个 600 mb 的文件,它完全冻结,没有响应,也没有给出任何问题。谢谢
EDIT1:我正在尝试这个,即使我迷失在高浪中。关于如何使用此代码并将其插入Jimi Answer 的任何想法?回答
和
我真的迷失了,我试图删除取消下载,因为我不会停止任何下载,并且我还尝试每 1 秒从 url 删除一次下载,因为我只需要为每个链接下载一次。谢谢
c# - C# - 使用 ThreadPool 多次调用 Webclient.DownloadFileAsync
嗨,我是多线程的新手,我正在努力使用 DownloadFileAsync 从 Web 下载多个文件。大约有 400 个文件要下载,我准备了使用 WebClient 类发送请求的 URL。我使用线程池调用了 DownloadfileAsync,希望它比串行下载更快。我使用的 URL 看起来像这样,每个 url(104、105 等)的项目编号都发生了变化。
我的代码如下所示:
和 DownloadWebAsync 如下: private void DownloadWebAsync(object state) { object[] list = state as object[]; 字符串文件名 = Convert.ToString(list[0]); 字符串 url = Convert.ToString(list 1 );
当 ThreadPool 启动时,我可以看到多个BLANK文件立即在磁盘上创建,如下图所示。它们的大小都为 0 KB,我假设 ThreadPool 中的所有线程都在运行并将请求发送到网站。
但是,在我看来,磁盘上的文件是使用从请求 1 一次或最多 2 个返回的下载数据更新的(一次大多是 1 个)。我的期望是对这些 0KB 文件同时进行更新- 由于调用 DownloadFileAsync 的线程已经在运行,因此至少应该同时处理 3 或 4 个文件?我不知道我在这里的代码是否做错了什么或需要设置任何属性。我的期望是同时下载以缩短下载时间,但现在还没有发生。
我使用treadpool 的另一个原因是我正在将状态/url/下载大小写回UI 窗口,并且我不希望UI 在400 个文件下载期间无响应。
我还在使用 Thread、TreadPool、Task Parallel Library 进行测试,还使用了 Webclient、HttpClient(async/await) 等,但在所有情况下,似乎在线程或任务启动后它会立即创建空白文件 - 但实际下载一次发生。还使用 WebClient.DownloadFile 进行了测试,并且通过线程池运行时发生超时错误,因此我将不得不使用异步。
有人可以帮我解释这是否是预期的行为,或者我该如何改善下载体验?我已经为此苦苦挣扎了将近一周,非常感谢您的帮助。
问候
asp.net-web-api - 尝试从 .net 框架 Web api 下载时 Excel 文件已损坏
我正在尝试从 web api 下载 excel 文件。它只是一个 .net 框架 web api,返回类型为 IHttpActionResult。但是下载后会弹出文件格式无效的提示。当我保存在某个位置时,这个字节数组“fileContent”工作正常。仅当我将其作为 HttpResponse 返回时,下载后我无法打开该文件