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 @   哎哟喂~  阅读(3665)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示