2009-12-09 64 views
1

讓我們從最終目標開始 -
我需要能夠將文件粘貼到本地文件系統,即從Web響應流中獲取。在剪貼板中添加流

我認爲最好的行動方式是以某種方式在剪貼板中放入一些東西,當粘貼操作發生時會通知我,所以我可以運行異步請求,等待響應併發送流文件系統。是否有可能做這樣的事情?
如果沒有,也許我可以發送複製操作的請求,獲取流(甚至可能完全複製到一個MemoryStream,所以我可以關閉響應),並以某種方式將其放入剪貼板,以便粘貼將只是「泄漏「這一切?

這裏的任何人對我有任何建議或指針?

+0

可能重複探險家C#](http://stackoverflow.com/questions/1845654/how-to-use-filegroupdescriptor-to-drag-file-to-explorer-c-sharp) – Deanna 2014-07-30 11:17:38

回答

1

我發現this問題,鏈接到一個CodeProject上文章解釋我應該做什麼。試圖找出我自己目前。

1

也許你可以將文件保存到臨時文件夾(Path.GetTempPath()),然後使用常規的Windows拷貝/粘貼機制(Clipboard.SetFileDropList

0

這個例子可以節省一格的臨時文件的內容,並加載所有行到剪貼板上,這樣他們可以粘貼到Excel:

String filename = Path.Combine(Path.GetTempPath(), "grid.csv"); 
using (Stream stream = new MemoryStream()) 
{ 
    this.Grid.Export(stream,new GridViewExportOptions() {Format = ExportFormat.Csv, ShowColumnHeaders = true}); 
    stream.Position = 0; 
    using (StreamReader r = new StreamReader(stream)) 
    { 
     Clipboard.SetData(DataFormats.CommaSeparatedValue, r.ReadToEnd()); 
    } 
} 
的[如何使用filegroupdescriptor拖動文件到