using (var stream = GetS3ObjectStream(fooObj))
{
WriteStreamToFtp(stream, "ftp://firstserver");
WriteStreamToFtp(stream, "ftp://SecondServer");
}
Run Code Online (Sandbox Code Playgroud)
第一个可以工作,但第二个将只创建一个空文件
GetS3ObjectStream获取Amazon Simple存储对象的流.它是不可访问的流,您无法更改其中的光标位置.
现在,我要么不得不以某种方式限制多次使用流对象,或者我必须将光标移动到开头.
有任何想法吗?
upd:是的,你当然可以简单地将流保存在temp中.变量,但如果你不想这样做,那么呢?是否可以制作采用流的方法,并留下这些副作用?如果我关闭并在方法中处理源流怎么办?
您可以重新创建流或将其缓冲到使用之前byte[]或MemoryStream之前.
编辑:我忘了提一个不缓冲的解决方案:
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |