我正在尝试使用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"
关于我所缺少的任何建议都会很棒。
答案 0 :(得分:2)
我认为这是一个内部路径长度限制,至少在ImageMagick中 - 它也运行良好超过Windows限制(128个左右的字符)。
C / C ++程序通常为文件名/路径/输入分配固定缓冲区 - 这不太可能超过256个字符。
您可能希望重新访问文件系统存储的设计。
如果您可以在文件位于短路径上时运行转换,则会确认我的答案是正确的。
答案 1 :(得分:0)
关于我所缺少的任何建议都会很棒。
,:;
等其他字符我猜ImageMagick可能会将,
视为文件分隔符。