Ouverture d'un fichier image [Résolu]

Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 22 oct. 2004 à 18:55 - Dernière réponse : zenga 1 Messages postés samedi 27 octobre 2001Date d'inscription 6 novembre 2004 Dernière intervention
- 6 nov. 2004 à 15:46
salut
dans mon prog, je dois ouvrir un fichier jpg, pour le resauvegarder dans un autre emplacement, le problème c'est que quand je le lit, et je l'ecrit, il devient illisible, et même quand j'ouvre le fichier d'origine et le deuxième avec le bloc-notes, ils sont différents un peu, voilà ce que je fait pour ouvrir:

System.IO.FileStream dd = new System.IO.FileStream(InscriParcourir.FileName,System.IO.FileMode.Open);
byte [] Recu = new byte[dd.Length];
dd.Read(Recu,0,Recu.Length);
Env = System.Text.ASCIIEncoding.ASCII.GetString(Recu);

pour l'ecriture

System.IO.StreamWriter RT = new System.IO.StreamWriter("f:\\Serveur\\Avatar\\aa.jpg" );
RT.Write(Env);

le copier coller directe du fichier ne résoud pas mon problème, faut le lire et le réecrire, car la lecture et de chez le client, et l'ecréture et dans le serveur, soyez sur que l'envoie de données ne fait aucune perte, c'est testé (avec un fichier jpg qui contient "aaa", ca reste "aaa" même cher le serveur)

merci de m'aider, je pense que le problème et dans l'encodage.
merci
http://www.devportail.tk
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention - 23 oct. 2004 à 14:22
3
Merci
System.IO.FileStream dd = new System.IO.FileStream(InscriParcourir.FileName,System.IO.FileMode.Open);
byte [] Recu = new byte[dd.Length];
dd.Read(Recu,0,Recu.Length);
Env = Convert.ToBase64String(Recu, 0,Recu.Length);


pour l'ecriture

System.IO.StreamWriter RT = new System.IO.StreamWriter("f:\\Serveur\\Avatar\\aa.jpg" ); 
RT.Write(Convert.FromBase64String(Env));


A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]

Merci cs_Crazyht 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de cs_Crazyht
Meilleure réponse
cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention - 23 oct. 2004 à 18:21
3
Merci
Pour Ecrire :

System.IO.FileStream dd = new System.IO.FileStream("f:\\Serveur\\Avatar\\aa.jpg"); 
byte[] buf = Convert.FromBase64String(Env);
dd.Write (buf,0,buf.Length);


Il est a noter que le code que je fournis n'est pas verifié. Je suis juste la pour donner une piste de recherche.

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]

Merci cs_Crazyht 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de cs_Crazyht
cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention - 22 oct. 2004 à 21:43
0
Merci
Juste une question :

Pourquoi faire System.Text.ASCIIEncoding.ASCII.GetString(Recu) ?

Je vois pas l'interet puisqu'un JPG est un fichier binaire

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Commenter la réponse de cs_Crazyht
Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 22 oct. 2004 à 21:58
0
Merci
seulement parceque quand on envoie, la variable doit être un texte string, et non pas un tableau ou sont stocké les codes ascii.
RT.Write(string truc)

http://www.devportail.tk
Commenter la réponse de Fildomen
Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 22 oct. 2004 à 23:05
0
Merci
SVP AIDEZ MOI !!! je savais pas qu'ouvrir un fichier non .txt est aussi difficile avec ce langage
Commenter la réponse de Fildomen
cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention - 22 oct. 2004 à 23:26
0
Merci
A mon avis, le probleme viens de la transformation en String, essaie plutot un passage en Base64 et une reconversion de la base64 en binaire apres transfere.

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Commenter la réponse de cs_Crazyht
Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 23 oct. 2004 à 10:06
0
Merci
je pense pas que c'est de l'encodage, ni de la transformation, parceque j'ai modifié la facon de la lecture, ici le StreamReader(,true) est pour qu'il détecte automatiquement l'encodage:

System.IO.FileStream rr = new System.IO.FileStream(InscriParcourir.FileName,System.IO.FileMode.Open );
char [] Recu = new char[rr.Length ];
rr.Close();
System.IO.StreamReader dd = new System.IO.StreamReader(InscriParcourir.FileName,true);
dd.Read(Recu,0,Recu.Length);
string ee = (new string(Recu));//ici on transforme en string
Env +=ee+InscriParcourir.FileName.Substring(InscriParcourir.FileName.Length-4,4dd.Close();

la transformation est depuis char maintenant, et non byte, alors il ne fait que les coller !!!
Alors, c'est impossible????même la détection auto est fausse!!! non, c'est pas pour ca que je vais abondonner mon projet?? SVP aidez moi

http://www.devportail.tk
Commenter la réponse de Fildomen
Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 23 oct. 2004 à 10:09
0
Merci
Code un peu commenté:

System.IO.FileStream rr = new System.IO.FileStream(PATH,System.IO.FileMode.Open );//on crée ca pour savoir la longuer du fichier
char [] Recu = new char[rr.Length ];
rr.Close();//on ferme le FileStream pour crée un StreamReader
System.IO.StreamReader dd = new System.IO.StreamReader(PATH,true);
dd.Read(Recu,0,Recu.Length);// la lecture
string ee = (new string(Recu));//ici on transforme en string
dd.Close();

http://www.devportail.tk
Commenter la réponse de Fildomen
Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 23 oct. 2004 à 16:12
0
Merci
Ca n'a pas marché, il écrit dans le fichier cette ligne bizzard

System.Byte[]

c'est difficile d'ouvrir un fichier, je savais pas que c'est trop dûr, en vb, tout les fichiers sont les même, pas d'encodage ni rien, tu ouvres, tu lis,j'aime bien avoir une commande qui ouvre et qui lit comme celle de vb.

merci comême de ton aide, et j'éspère bien que tu me trouveras une solution, je veux pas dire à mes pottes que j'ai abondonné mon serveur parce-que je sais pas comment ouvrir un fichier, merci.

http://www.devportail.tk
Commenter la réponse de Fildomen
Fildomen 805 Messages postés jeudi 22 mai 2003Date d'inscription 30 octobre 2010 Dernière intervention - 23 oct. 2004 à 18:35
0
Merci
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht Merci M.Crazyht
Commenter la réponse de Fildomen
zenga 1 Messages postés samedi 27 octobre 2001Date d'inscription 6 novembre 2004 Dernière intervention - 6 nov. 2004 à 15:46
0
Merci
bonjour,
je cherche aussi a ouvrir un fichier avec c#
as tu trouvé la solution?
zenga.lilo@caramail.com
Commenter la réponse de zenga

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.