J'accède à un httpwebrequest qui retourne un fichier pdf comme réponse. Je lis cette réponse dans un flux de mémoire, et plus tard sur la conversion dans un fichier. Le problème est, est que des centaines de fichiers sont en cours de création. Je ne sais pas pourquoi, j'ai essayé de nombreuses façons, et tous font la même chose ... C'est la première méthode qui retourne le flux de la mémoire.Convertir MemoryStream en FileStream crée des centaines de fichiers identiques?
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);
deuxième à convertir en FileStream ...
byte[] data = stream.ToArray();
FileStream fs = new FileStream(newFile, FileMode.CreateNew);
fs.Write(data, 0, data.Length);
Toutes les idées?
EDIT POUR AJOUTER PLUS CODE ...
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 est le chemin mappé sur le serveur du fichier à créer.
byte[] data = stream.ToArray();
FileStream fs = new FileStream(newFile, FileMode.Create);
fs.Write(data, 0, data.Length);
fs.Close();
J'ai essayé stream.WriteTo (fs), et la même chose se produit. Assez bizzare.