imagemagick с иностранными символами - PullRequest
0 голосов
/ 04 февраля 2010

ImageMagick не работает с иностранными символами. Я использую следующий код

Работает нормально, пока буква в пути или файл не имеют чужой символ. Как мне конвертировать изображения в превью на моем сайте asp.net? Могу ли я использовать плагин или другое приложение или версию?

            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();

Ответы [ 2 ]

1 голос
/ 04 февраля 2010

Я бы изменил имя файла.В любом случае, вы, возможно, захотите сделать какое-то преобразование имени файла, чтобы обезопасить себя от атак, внедряемых в имя файла.Обычно плохая идея запускать подпроцесс с любой строкой, которой может управлять пользователь.Если вы ловите загруженные файлы, перед запуском convert.exe переместите их на новое имя - например, имя, сгенерированное из uuid.

0 голосов
/ 04 февраля 2010

Обходной путь - изменить имя файла на что-то безопасное для ascii, затем переименовать / переместить его на нужное имя / путь с полными символами Unicode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...