我正在使用.NET库函数将文件上传到服务器,并将参数作为文件的路径.我想发送的数据很小,并在运行时构建.我可以将它保存到临时文件然后上传.
由于我的应用程序将部署在各种环境中,并且我不知道我是否能够可靠地创建临时文件,因此最好能够将路径传递到内存中的虚拟文件.
我无法改变图书馆; 我知道它在文件上执行以下操作:
LibraryUploadFunction(string filename) {
fileName = Path.GetFullPath(fileName);
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
...
}
Run Code Online (Sandbox Code Playgroud)
是否可以避免将文件写入磁盘?
谢谢
编辑:
库调用是Webclient.UploadFile,正如答案中指出的那样,有许多可行的解决方法,包括使用替代库,其中有很多.
Jon*_*eet 10
不,你的图书馆在这方面基本上是不灵活的,因为它使用了它FileStream.
选项:
如果库暴露了另一个接受a的方法Stream,你可以使用a MemoryStream.
如果它接受a SafeFileHandle,你可以使用a MemoryMappedFile.
否则,您必须对磁盘上的文件感到满意.
| 归档时间: |
|
| 查看次数: |
11688 次 |
| 最近记录: |