Ouverture d'un fichier image

Résolu
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 22 oct. 2004 à 18:55
zenga Messages postés 1 Date d'inscription samedi 27 octobre 2001 Statut Membre Dernière intervention 6 novembre 2004 - 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

11 réponses

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 oct. 2004 à 14:22
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]
3
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 oct. 2004 à 18:21
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]
3
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
22 oct. 2004 à 21:43
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]
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
22 oct. 2004 à 21:58
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
22 oct. 2004 à 23:05
SVP AIDEZ MOI !!! je savais pas qu'ouvrir un fichier non .txt est aussi difficile avec ce langage
0
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
22 oct. 2004 à 23:26
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]
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
23 oct. 2004 à 10:06
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
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
23 oct. 2004 à 10:09
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
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
23 oct. 2004 à 16:12
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
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
23 oct. 2004 à 18:35
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
0
zenga Messages postés 1 Date d'inscription samedi 27 octobre 2001 Statut Membre Dernière intervention 6 novembre 2004
6 nov. 2004 à 15:46
bonjour,
je cherche aussi a ouvrir un fichier avec c#
as tu trouvé la solution?
zenga.lilo@caramail.com
0
Rejoignez-nous