拖放'n文件下载c#
本文关键字:文件下载 拖放 | 更新日期: 2023-09-27 18:06:29
我遇到了一个问题。我想把一个文件从我的表单拖放到资源管理器/桌面
问题是文件是在线的。然后,在复制到目标文件夹之前,必须先将其下载到磁盘上的某个地方。
我创建了一个shell扩展(我认为它是,无论如何),谁使用后台工作器下载文件,但当然,即使这样,当文件正在下载时,拖放操作还没有结束,UI正在冻结。
我想做的就是拖拽到资源管理器,这将启动下载并复制文件,而不会在下载过程中冻结UI。
那么,我该怎么办呢?
我能得到目标路径并自己复制吗?
我可以在另一个线程中启动整个拖放操作吗?
我找了一会儿,没有找到任何明确的答案。
让这两个关注点在逻辑上完全分离:下载与实际下载/保存文件
处理拖拽&删除整个操作,完成后(通常在OnDragDrop
方法中),启动下载和保存过程。您可能需要在某处显示进度。
试图在拖放操作期间完成所有似乎注定要失败。你永远不会知道下载需要多长时间,或者它是否会完全失败。在拖拽过程中处理这些问题& &;
你可以在放置事件处理程序中调用BackgroundWorkder。