1

Image4jとgraphicsmagickを使用して画像をカットしましたが、Linuxにアプリをデプロイするとクラッシュしました。

これは例外です:

2015-04-14/15:26:46.712/CST [http-nio-8089-exec-47] エラー org.im4java.core.CommandException: org.im4java.core.CommandException: gm convert: 現在の作業ディレクトリを復元できません[アクセス拒否]。2015-04-14/15:28:45.415/CST [http-nio-8089-exec-61] エラー org.im4java.core.CommandException: org.im4java.core.CommandException: gm convert: 現在の作業ディレクトリを復元できません[アクセス拒否]。2015-04-14/15:30:10.699/CST [http-nio-8089-exec-68] エラー org.im4java.core.CommandException: org.im4java.core.CommandException: gm convert: 現在の作業ディレクトリを復元できません[アクセス拒否]。2015-04-14/16:38:40.272/CST [http-nio-8089-exec-25] エラー org.im4java.core.CommandException: java.io.IOException: プログラム "gm" を実行できません: error=23,システム 2015-04-14/16:40:35 で開いているファイルが多すぎます。

これは私のコードです:

private String cutImage(String filename ,String srcPath, String newPath, String urlPath , int sourceWidth, int sourceHeight, int cutNum) throws Exception {  
        StringBuilder sb = new StringBuilder();
        int everyHeight = sourceHeight/cutNum;
        ConvertCmd convert = new ConvertCmd(Boolean.TRUE);
        for(int i = 0 ; i < cutNum ; i++) {
            GMOperation op = new GMOperation();
            op.addImage(srcPath+filename);      
            int startX = 0;
            int startY = everyHeight * i;
            int width = sourceWidth;
            int height = everyHeight;
            op.crop(width, height, startX, startY);  
            op.addImage(newPath+i+"_"+filename);
            convert.run(op);
            if( i == 0) {
                sb.append(urlPath+i+"_"+filename);
            } else {
                sb.append(";"+urlPath+i+"_"+filename);
            }
        }
        return sb.toString();
    }
4

0 に答える 0