如何用MemoryStream选择路径

时间:2016-02-12 09:14:25

标签: c# asp.net memorystream

我有以下代码:

public BaseActivity extends Activity{
@override
public void onCreate(Bundle bundle){
/// add snippet 
}
}

yourActivity/yourActivities extends BaseActivity

当我在控制台应用程序中使用它时,文件会自动保存到bin文件夹中。现在我在Web应用程序中使用它 - 它根本没有保存。 如何为using (Stream responseStream = reply.GetResponseStream()) { //Do not close the stream, this creates an error when saving a JPEG file MemoryStream memoryStream = new MemoryStream(); byte[] buffer = new byte[4096]; int bytesRead; do { bytesRead = responseStream.Read(buffer, 0, buffer.Length); memoryStream.Write(buffer, 0, bytesRead); } while (bytesRead != 0); } 特定路径提供保存,例如:MemoryStream

1 个答案:

答案 0 :(得分:2)

我假设replyHttpWebResponse的实例(通过HttpWebRequest)。

无论如何,.NET 4附带Stream.CopyTo,它简化了从一个流复制到另一个流的过程,而无需您自己使用自己的缓冲区手动完成。

像这样:

using( Stream responseStream = reply.GetResponseStream() )
using( Stream fileStream = new FileStream( @"C:\whatever\foo.bin", FileMode.CreateNew ) ) {
    responseStream.CopyTo( fileStream );
}

那就是它。