JAVA 将图片保存至项目路径

将图片保存到本地项目路径下

import org.apache.commons.codec.binary.Base64;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.codec.binary.Base64;

public class Test {

    /**
     * 将图片保存到项目路径下
     *
     * @param photoName 图片名称
     * @param photoData 图片资源
     * @param type 文件类型
     * @return 图片路径
     * @throws Exception
     */
    public String uploadPhoto(String photoName, String photoData, String type)
            throws Exception {
        // 对图片进行Base64解码
        byte[] b = Base64.decodeBase64(photoData);
        for (int i = 0; i < b.length; i++)
        {
            if(b[i] < 0)
            {    //调整异常数据
                b[i] += 256;
            }
        }
        // 生成图片
        // 项目路径
        String comPath = this.getClass().getResource("/").getPath() + type + "/";
        String filePath = comPath + photoName;
        File file = new File(filePath);
        // 获取父文件
        File parent = file.getParentFile();
        // 若不存在创建父文件夹
        if (!parent.exists()) {
            parent.mkdirs();
        }

        // 输出文件流
        OutputStream out = new FileOutputStream(file);
        out.write(b);
        out.flush();
        out.close();

        String path = filePath;
        return path;
    }
}

 

posted @ 2018-12-09 19:26  哎哟喂~  阅读(3582)  评论(0编辑  收藏  举报