Я получаю доступ к httpwebrequest, который возвращает файл PDF в качестве ответа. Я читаю этот ответ в поток памяти, а затем конвертирую в файл. Проблема в том, что создаются сотни файлов. Не знаю почему, я пробовал много способов, и все делают одно и то же... Это первый метод, который возвращает поток памяти.
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), и происходит то же самое. Довольно странно.