Create file in memory not filesystem
.net, c#, file
Solution
No, your library is fundamentally inflexible in this aspect, by the fact that it uses `FileStream`.
Options:
- Use a ramdrive and specify a path on that, in order to avoid actually hitting disk
- Depending on where the library comes from, either request a change (if it's closed source) or just make the change if it's open source
- Use a different library. (What's special about this one?)
Problem
I am using a .NET library function that uploads files to a server, and takes as a parameter a path to a file. The data I want to send is small and constructed at runtime. I can save it to a temporary file and then upload it. Since my application will be deployed in a variety of environments, and I don't know if I'll be able to create the temporary file reliably, it would be preferable to be able to pass in a path to a virtual file in memory. I can't change the library; I know it executes the following on the file: ``` LibraryUploadFunction(string filename) { fileName = Path.GetFullPath(fileName); FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); ... } ``` Is it possible to avoid writing the file to disk? Thanks Edit: The library call is Webclient.UploadFile, as pointed out in the answers, there are many workarounds possible, including using alternative libraries, of which there are many.