0

我正在尝试使用 imagemagick 在 jpg 和 png 之间转换一些文件,但我不断收到错误消息:No such file or directory显然,我已检查以确保该文件确实存在。我在想这可能是某种路径长度限制,但我在 Windows 和 Linux 中遇到了同样的问题。

命令是:

"C:\Program Files\ImageMagick-6.8.3-Q16\convert.exe" "C:\Tomcat 7\inst-jq\temp\WF\483f95bc-dcd7-405c-a04d-dc8fabbe79e2\eb19c8af-a5d8-4fba-a439-bc83351d2577\Export\4211a260-3565-4c82-be72-7a0ad8337956\content\William Shakespeare\William Shakespeare\The Complete Works\Oberon,Titania,Puck,Fairies_William_Blake_c1786.jpg" "C:\Tomcat 7\inst-jq\temp\WF\483f95bc-dcd7-405c-a04d-dc8fabbe79e2\eb19c8af-a5d8-4fba-a439-bc83351d2577\Store\e7256aee-ab8b-42e6-91a6-525c921679cf\content\William Shakespeare\William Shakespeare\The Complete Works\Oberon,Titania,Puck,Fairies_William_Blake_c1786.png"

关于我所缺少的任何建议都会很棒。

4

2 回答 2

2

我认为它是一个内部路径长度限制,至少在 ImageMagick 中——它的运行也远远超过了 Windows 限制(128 个左右的字符)。

C/C++ 程序通常为文件名/路径/输入分配一个固定的缓冲区——这不太可能超过 256 个字符。

您可能想要重新审视文件系统存储的设计。

如果您可以在文件位于短路径时运行转换,那将确认我的答案是正确的。

于 2013-05-08T09:31:04.790 回答
0

关于我所缺少的任何建议都会很棒。

  1. 尽量避免文件名中的空格
  2. 尽量避免其他字符,:;之类的

我猜 ImageMagick 可能会将,其视为文件分隔符。

于 2013-05-08T09:30:24.083 回答