Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

download d'image dans le flux http

4 réponses
Avatar
Ced
Bonjour,

Pour télécharger des fichiers du serveur vers le poste client, j'utilise le
stream de sortie de la requete http :
* j'écrit les paramètres dans l'en-tête HTTP (Content-disposition:
attachment;filename=.NomFichier)
* j'envoie le tableau de byte correspondant au fichier dans le stream de
sortie de la réponse (Response.BinaryWrite(...)).
Tout fonctionne bien, sauf pour les images. En effet, quand IE est le
visualiseur d'images par défaut, au lieu d'ouvrir l'image dans une nouvelle
fenêtre IE, il me l'ouvre dans la frame en cours.

Merci par avance pour les tuyaux

Ced

4 réponses

Avatar
Pierre Lagarde [MS]
Bonjour Ced,

Le problème vient du content type :
Tu dois avoir ceci : Response.ContentType = "image/gif";
Tu le remplaces par ceci : Response.ContentType = "Application/Gif";

A ce moment IE ne connait pas ce ContentType et te propose le
téléchargement.
Après il faut trouver l'astuce pour changer le nom du fichier par défault
qui est le nom de ta page ASPX.

--
Pierre Lagarde
Microsoft France

Ced wrote:
Bonjour,

Pour télécharger des fichiers du serveur vers le poste client,
j'utilise le stream de sortie de la requete http :
* j'écrit les paramètres dans l'en-tête HTTP (Content-disposition:
attachment;filename=.NomFichier)
* j'envoie le tableau de byte correspondant au fichier dans le stream
de sortie de la réponse (Response.BinaryWrite(...)).
Tout fonctionne bien, sauf pour les images. En effet, quand IE est le
visualiseur d'images par défaut, au lieu d'ouvrir l'image dans une
nouvelle fenêtre IE, il me l'ouvre dans la frame en cours.

Merci par avance pour les tuyaux

Ced


Avatar
Damien RICHARD
Bonjour Pierre,

Je suis un peu confronté au même problème.
Je suis preneur de ton astuce pour modifier le nom de fichier par défaut qui
est le nom de ma page.

Merci d'avance


"Pierre Lagarde [MS]" a écrit dans le message de
news: Oy#
Bonjour Ced,

Le problème vient du content type :
Tu dois avoir ceci : Response.ContentType = "image/gif";
Tu le remplaces par ceci : Response.ContentType = "Application/Gif";

A ce moment IE ne connait pas ce ContentType et te propose le
téléchargement.
Après il faut trouver l'astuce pour changer le nom du fichier par défault
qui est le nom de ta page ASPX.

--
Pierre Lagarde
Microsoft France

Ced wrote:
> Bonjour,
>
> Pour télécharger des fichiers du serveur vers le poste client,
> j'utilise le stream de sortie de la requete http :
> * j'écrit les paramètres dans l'en-tête HTTP (Content-disposition:
> attachment;filename=.NomFichier)
> * j'envoie le tableau de byte correspondant au fichier dans le stream
> de sortie de la réponse (Response.BinaryWrite(...)).
> Tout fonctionne bien, sauf pour les images. En effet, quand IE est le
> visualiseur d'images par défaut, au lieu d'ouvrir l'image dans une
> nouvelle fenêtre IE, il me l'ouvre dans la frame en cours.
>
> Merci par avance pour les tuyaux
>
> Ced




Avatar
Ced
Bonjour,

Merci pour l'info : ca fonctionne très bien.
Pour renomer le fichier j'utilise
Response.AppendHeader("Content-disposition","attachment;filename=" +
nomFichier);

Merci encore

Ced


"Pierre Lagarde [MS]" wrote:

Bonjour Ced,

Le problème vient du content type :
Tu dois avoir ceci : Response.ContentType = "image/gif";
Tu le remplaces par ceci : Response.ContentType = "Application/Gif";

A ce moment IE ne connait pas ce ContentType et te propose le
téléchargement.
Après il faut trouver l'astuce pour changer le nom du fichier par défault
qui est le nom de ta page ASPX.

--
Pierre Lagarde
Microsoft France

Ced wrote:
> Bonjour,
>
> Pour télécharger des fichiers du serveur vers le poste client,
> j'utilise le stream de sortie de la requete http :
> * j'écrit les paramètres dans l'en-tête HTTP (Content-disposition:
> attachment;filename=.NomFichier)
> * j'envoie le tableau de byte correspondant au fichier dans le stream
> de sortie de la réponse (Response.BinaryWrite(...)).
> Tout fonctionne bien, sauf pour les images. En effet, quand IE est le
> visualiseur d'images par défaut, au lieu d'ouvrir l'image dans une
> nouvelle fenêtre IE, il me l'ouvre dans la frame en cours.
>
> Merci par avance pour les tuyaux
>
> Ced





Avatar
Pierre Lagarde [MS]
Re,

Joli Ced je prends !

--
Pierre Lagarde
Microsoft France

Ced wrote:
Bonjour,

Merci pour l'info : ca fonctionne très bien.
Pour renomer le fichier j'utilise
Response.AppendHeader("Content-disposition","attachment;filename=" +
nomFichier);

Merci encore

Ced


"Pierre Lagarde [MS]" wrote:

Bonjour Ced,

Le problème vient du content type :
Tu dois avoir ceci : Response.ContentType = "image/gif";
Tu le remplaces par ceci : Response.ContentType = "Application/Gif";

A ce moment IE ne connait pas ce ContentType et te propose le
téléchargement.
Après il faut trouver l'astuce pour changer le nom du fichier par
défault qui est le nom de ta page ASPX.

--
Pierre Lagarde
Microsoft France

Ced wrote:
Bonjour,

Pour télécharger des fichiers du serveur vers le poste client,
j'utilise le stream de sortie de la requete http :
* j'écrit les paramètres dans l'en-tête HTTP (Content-disposition:
attachment;filename=.NomFichier)
* j'envoie le tableau de byte correspondant au fichier dans le
stream de sortie de la réponse (Response.BinaryWrite(...)).
Tout fonctionne bien, sauf pour les images. En effet, quand IE est
le visualiseur d'images par défaut, au lieu d'ouvrir l'image dans
une nouvelle fenêtre IE, il me l'ouvre dans la frame en cours.

Merci par avance pour les tuyaux

Ced