我正在访问一个返回PDF文件作为响应的httpwebrequest。我正在将该响应读入内存流,然后转换为文件。问题是,是否有数百个文件正在创建。不知道为什么,我已经尝试了很多方法,并且都做了相同的... 这是返回内存流的第一个方法。将MemoryStream转换为FileStream会创建数百个相同的文件?
MemoryStream memStream = new MemoryStream();
byte[] buffer = new byte[2048];
int bytesRead = 0;
do
{
bytesRead = _ResponseStream.Read(buffer, 0, buffer.Length);
memStream.Write(buffer, 0, bytesRead);
} while (bytesRead != 0);
二转换成的FileStream ...
byte[] data = stream.ToArray();
FileStream fs = new FileStream(newFile, FileMode.CreateNew);
fs.Write(data, 0, data.Length);
任何想法?
编辑以添加更多的代码...
public MemoryStream GetToStream()
{
if (_Req == null)
throw new Exception("HttpWebRequest is not initialised");
GetResult(_Req);
MemoryStream memStream = new MemoryStream();
byte[] buffer = new byte[2048];
int bytesRead = 0;
do
{
bytesRead = _ResponseStream.Read(buffer, 0, buffer.Length);
memStream.Write(buffer, 0, bytesRead);
} while (bytesRead != 0);
_ResponseStream.Close();
if (memStream.Length > 0)
return memStream;
else return null;
}
NEWFILE是映射的文件路径创建的服务器。
byte[] data = stream.ToArray();
FileStream fs = new FileStream(newFile, FileMode.Create);
fs.Write(data, 0, data.Length);
fs.Close();
我试过stream.WriteTo(fs),并发生同样的事情。非常棒。