8
votes

Ruisseau coulissant à filtream

Dupliqué possible:
Convertir un flux en FileStream en C #

Ma question concerne le casting du flux à filtream ...

Fondamentalement, je dois faire cela pour obtenir le nom du fichier, car si je n'ai qu'un flux d'objet, il n'a pas la propriété de nom, lorsque FileStream fait ...

Alors, comment le faire correctement, comment lancer un objet de flux à filtream ...

Un autre problème est que ce flux vient de Webresponse.GetResponsestream () et si je le jette à filtream, je le reçois vide. Fondamentalement, je pourrais également utiliser le flux, mais j'ai besoin d'obtenir le nom de fichier.

J'utilise 3.5

Des idées?


3 commentaires

Lire: Stackoverflow.com/Questtions/3769067/...


Que voudriez-vous faire si le flux n'est pas réellement A filtream ?


Si vous utilisez .NET 4.0, utilisez flux.copyto (). Doc: msdn.microsoft.com/en-us/library/dd182932.aspx < / a>


3 Réponses :


22
votes

Utilisez l'opérateur comme pour effectuer la distribution, si le flux n'est pas réellement un filtream , null sera retourné au lieu de jeter une exception. XXX


0 commentaires

4
votes

En supposant que le flux est en fait un flux de fichiers, les éléments suivants doivent faire l'astuce:

var name = ((FileStream)stream).Name;


0 commentaires

2
votes

option 1. Si vous êtes sûr, que greve code> objet est un filtream code>: xxx pré>

option 2. Si vous " Re pas em> sûr, que L'objet code> est un filtream code>, mais si tel est le cas, il sera utile: P>

var fileStream = stream as FileStream;
if (fileStream != null)
{
    // specific stuff here
}


0 commentaires