2010-02-04 6 views
0

ImageMagick de doesnt semblent fonctionner avec des caractères étrangers. J'utiliser le code suivantImageMagick avec des caractères étrangers

Il fonctionne très bien jusqu'à ce qu'une lettre dans le chemin ou le fichier a un caractère étranger. Comment puis-je convertir des images en pouces sur mon site asp.net? Y at-il un plug-in ou une autre application ou version que je peux utiliser?

  Process app = new Process(); 
      app.StartInfo.FileName = @"bin\convert.exe"; 
      app.StartInfo.Arguments = string.Format(@"""{0}"" -resize ""{2}"" ""{1}""", file, newfile, param); 
      app.Start(); 
      app.WaitForExit(); 

Répondre

0

Une solution de contournement est de changer le nom du fichier à quelque chose ascii sûr, puis renommer/déplacer vers le nom/chemin que vous voulez avec des personnages pleins unicode.

+0

Si quelqu'un me donne une meilleure réponse alors je peux changer la réponse d'accepter, mais cette solution est assez juste. –

1

Je voudrais changer le nom du fichier. Vous voulez probablement faire une certaine conversion du nom de fichier pour vous protéger des attaques intégrées dans le nom d'un fichier. Il est généralement une mauvaise idée de lancer un sous-processus avec toute chaîne qu'un utilisateur peut contrôler. Si vous attrapez des fichiers téléchargés, déplacez-les sous un nouveau nom avant d'exécuter convert.exe - comme un nom généré à partir d'un uuid, par exemple.

+0

pas utile. J'ai encore besoin de convertir les noms de fichiers chinois ou coréens. –

+0

hmm. Je ne vois pas comment "je voudrais changer le nom du fichier ... les déplacer vers un nouveau nom avant d'exécuter Convert.exe" est différent de "Une solution de contournement est de changer le nom de fichier pour quelque chose d'ascii sûr". Je soulignais simplement que, mis à part répondre à votre question, il peut être une bonne pratique d'accroître la sécurité. :: shrug :: Ravi de voir que tu as une solution de travail à la fin. – Matt

+0

Je pensais que vous disiez ne permettent pas aux utilisateurs de choisir le nom de PERIOD (pour des raisons de sécurité). et d'utiliser des noms sécurisés ASCII. Il ne me vint pas à l'esprit jusqu'à ce que je m'assois et essaye de penser à une solution de contournement parce que les noms étrangers semblent impossibles. Je ne savais pas/je pense que tu suggérais ce que ma réponse suggère. -Edit- je vais vous +1 de toute façon;) –

Questions connexes