For the client to treat files as perishable, they must exist in the client file system in some way, because the clipboard expects a list of file names when setting up the contents of the clipboard.
This can be done by transferring the data in the form of a stream to your client, and then making the client immediately unpack this stream into a temporary folder, the path to which can be obtained via:
var temp = Environment.ExpandEnvironmentVariables("%TEMP%");
Once you have done this and the files are in place, you can put these files on the clipboard as if they were copied.
We will warn you that support for copying / pasting files, instead of being able to βtransferβ files, could work much slower than other operations, due to how large the files can be.
David source share