Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
1865 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Encoder une URL en CSharp C#

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Encoder une URL en CSharp C#

n°1918503
discmat
Posté le 26-08-2009 à 12:25:03  profilanswer
 

Bonjour a tous,
j'utilise une API qui upload des fichiers sur les serveurs du service S3 d'Amazon. Le probleme et que ce serveur n'aime pas les fichiers avec des caracteres speiaux (accents, espaces, ...).
J'utilisais donc cette fonction :  

Code :
  1. System.Web.HttpUtility.UrlEncode(filename);


Le probleme c'est que ca ne convertit pas comme je le souhaite :  
Les espaces devraient devenir des %20 hors ca me donne des +, et il y a encore des caraceres speciaux non acceptes ar Amazon.
 
Si vous connaissez la bonne fonction je suis preuneur.
 
Merci et bonne journee.

mood
Publicité
Posté le 26-08-2009 à 12:25:03  profilanswer
 

n°1918552
Fred82
Posté le 26-08-2009 à 15:01:29  profilanswer
 

Je ne sais pas si c'est une bonne idée de toute façon de renommer le fichier avec un encodage.
 
Pourquoi ne pas enlever les caractères qui posent problèmes ? Pour cela, on peut utiliser ça :

Code :
  1. public static string RemoveDiacritics(string inputString)
  2.        {
  3.            String normalizedString = inputString.Normalize(NormalizationForm.FormD);
  4.            StringBuilder stringBuilder = new StringBuilder();
  5.  
  6.            for (int i = 0; i < normalizedString.Length; i++)
  7.            {
  8.                Char c = normalizedString[i];
  9.                if (CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)
  10.                    stringBuilder.Append(c);
  11.            }
  12.  
  13.            return stringBuilder.ToString();
  14.        }


 
Ça t'enlève tous les caractères spéciaux : é => e, à => a... Pas besoin de te les taper un par un. Je fais ça sur un programme d'upload aussi, parce que sinon ça causait des problèmes aussi.


---------------
Vos smileys favoris sur HFR : Script Greasemonkey / Topic HFR officiel
n°1921545
Tamahome
ID PSN : Tamahome-
Posté le 05-09-2009 à 17:29:28  profilanswer
 

discmat a écrit :

Bonjour a tous,
j'utilise une API qui upload des fichiers sur les serveurs du service S3 d'Amazon. Le probleme et que ce serveur n'aime pas les fichiers avec des caracteres speiaux (accents, espaces, ...).
J'utilisais donc cette fonction :  

Code :
  1. System.Web.HttpUtility.UrlEncode(filename);


Le probleme c'est que ca ne convertit pas comme je le souhaite :  
Les espaces devraient devenir des %20 hors ca me donne des +, et il y a encore des caraceres speciaux non acceptes ar Amazon.
 
Si vous connaissez la bonne fonction je suis preuneur.
 
Merci et bonne journee.


 

Code :
  1. System.Web.HttpUtility.UrlPathEncode("test test" )


---------------
/人◕ ‿‿ ◕人\

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Encoder une URL en CSharp C#

 

Sujets relatifs
[C++] Probleme de Makefile/linkage[Résolut]liaison Ada avec un .o C
[C++] Cherche lib + howto pour utiliser le pilote wifi (linux)accès à fonction importée à accè à fonction importé.
( Prog C )Probleme Afficheur Lcd 2x16[Résolut]Traduction du C++
utilisation d'un librairie C avec Ada.[Divers][Lecture]Utilisation de la bibliothèque portmidi : Pm_Read()
URL REWRITTINGsvn: 'C:\machin is already a working copy for a different URL
Plus de sujets relatifs à : Encoder une URL en CSharp C#


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware