我正在訪問一個返回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),併發生同樣的事情。非常棒。