带外来字符的imagemagick

时间:2010-02-04 01:05:31

标签: asp.net imagemagick

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

3 个答案:

答案 0 :(得分:1)

我会更改文件的名称。您可能希望对文件名进行一些转换,以帮助保护自己免受文件名中嵌入的攻击。使用用户可以控制的任何字符串启动子进程通常是个坏主意。如果您正在捕获上传的文件,请在运行convert.exe之前将它们移动到某个新名称 - 例如,从uuid生成的名称。

答案 1 :(得分:0)

解决方法是将文件名更改为ascii safe,然后使用完整的unicode字符将其重命名/移动到所需的名称/路径。

答案 2 :(得分:0)

回答这个问题可能暂时没有帮助,但对某人可能有用。 将文件路径转换为UTF-8编码对我有用。