我有以下代码:
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
?
答案 0 :(得分:2)
我假设reply
是HttpWebResponse
的实例(通过HttpWebRequest
)。
无论如何,.NET 4附带Stream.CopyTo
,它简化了从一个流复制到另一个流的过程,而无需您自己使用自己的缓冲区手动完成。
像这样:
using( Stream responseStream = reply.GetResponseStream() )
using( Stream fileStream = new FileStream( @"C:\whatever\foo.bin", FileMode.CreateNew ) ) {
responseStream.CopyTo( fileStream );
}
那就是它。