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();
答案 0 :(得分:1)
我会更改文件的名称。您可能希望对文件名进行一些转换,以帮助保护自己免受文件名中嵌入的攻击。使用用户可以控制的任何字符串启动子进程通常是个坏主意。如果您正在捕获上传的文件,请在运行convert.exe之前将它们移动到某个新名称 - 例如,从uuid生成的名称。
答案 1 :(得分:0)
解决方法是将文件名更改为ascii safe,然后使用完整的unicode字符将其重命名/移动到所需的名称/路径。
答案 2 :(得分:0)
回答这个问题可能暂时没有帮助,但对某人可能有用。 将文件路径转换为UTF-8编码对我有用。