我需要一個DragAndDrop解決方案來下載滴文件Windows資源管理器的文件夾中的C#.NET & 4.0。它不應該有必要在計算機上有文件。該文件將足夠大,拖動時間將不足以完成下載。我發現了各種問題,甚至接受了答案,但沒有任何結果。非常最接近的東西的工作是這樣的演示項目:
如何實現這一代碼下載一個文件把它的下降發生在Windows資源管理器的行動的一部分?
我需要一個DragAndDrop解決方案來下載滴文件Windows資源管理器的文件夾中的C#.NET & 4.0。它不應該有必要在計算機上有文件。該文件將足夠大,拖動時間將不足以完成下載。我發現了各種問題,甚至接受了答案,但沒有任何結果。非常最接近的東西的工作是這樣的演示項目:
如何實現這一代碼下載一個文件把它的下降發生在Windows資源管理器的行動的一部分?
好的,正如Yahia在評論中所說的,如果沒有適用於不同版本的Windows和.NET的適當外殼擴展,這是不可能的。你可能對我發佈的鏈接感到幸運,但對我來說,它崩潰了瀏覽器,開發人員認爲它工作正常。
我的誠實觀點是隻有.NET,你只能通過複製特殊的.temp文件,看它們的位置,完成任務並在任務完成時替換.temp文件,使用FileSystemWatcher來完成。傷心的Windows。
網頁瀏覽器每天解決這個問題。簡化他們的模型,做到這一點:
做一個小程序,執行您的下載給出適當的命令行參數。這個小程序應該彈出一個帶有進度條和取消按鈕的窗口。
當用戶「丟棄」某物時產生第二個程序。該程序將立即創建目標文件並開始填充數據。它將在文件完成下載之前保持適當的鎖定,此時「下載程序」將退出。
如果你要保持「下載」線程的原始程序,您將需要某種形式的下載管理器,使用戶可以在他們的下載得到適當的反饋。
意外提升。這並不能解決問題!你需要知道文件被刪除的位置,因爲我堅信,webbrowsers除非使用臨時文件和文件systemwatcher,否則不能知道這一點。例如,某人將圖像拖到桌面上的文件夾中。命令行參數是什麼?如果我能知道文件被刪除的位置,即使在同一個應用程序中也不會有問題。把它放在一個不同的過程中實際上並沒有什麼幫助。 – Akku 2012-03-18 12:22:22
也許Web瀏覽器提示保存位置而不是允許丟棄的方法更合適? – Brannon 2012-03-20 14:03:24
只要您使用對話框詢問位置,拖放的整個想法就不再適用了。 – Akku 2012-03-20 19:24:46
從哪裏拖動?從你的應用程序? – JTeagle 2012-03-07 11:32:39
是的,來自我的申請。例如包含文件URL的文本框。 – Akku 2012-03-07 11:35:22
需要考慮的一個可能的選擇是將*快捷方式*放入目標目錄(因此,快速創建快捷方式文件非常麻煩),並且快捷方式指向其他位置的文件(下載似乎是個不錯的選擇)在後臺下載文件。如果您將快捷方式指向完成的文件名,但在完成時指向完成的文件名並重新命名,則快捷方式只會在文件完全下載後才能訪問該文件。不理想,但可能會讓你脫離現場。 – JTeagle 2012-03-07 11:45:03