SMMS图床Java接口上传

前言

个人项目开发中,网站建设中需要用到大量的图片以及用户上传的图片,如果服务器带宽小,磁盘容量小将所有的图片信息全部存储在服务器上不太现实,这里建议将图片数据存储在对象存OSS上或者将图片保存在图床上,减少带宽费用节约成本。

项目环境

SpringBoot:3.x
JDK:17.0.6
unirest:3.13.12
演示图床:smms.app(sm.ms)

环境引入

Maven工程

<dependency>
    <groupId>com.konghq</groupId>
    <artifactId>unirest-java</artifactId>
    <version>3.13.2</version>
</dependency>

程序源码

    void upload() {
        String url = "https://smms.app/api/v2/token";
        File file = new File("D:\\ceshi.png");//或者是前端传来的图片数据


        HttpResponse<String> response = Unirest.post("https://smms.app/api/v2/upload")
                .header("Authorization", "<登录smms.app在API Token中获取个人的Token>")
                .field("smfile", file)
//                .field("format", "png")
                .asString();

        System.out.println(response.getBody());
    }

响应示例

{
    "success": true,
    "code": "success",
    "message": "Upload success.",
    "data": {
        "file_id": 0,
        "width": 743,
        "height": 453,
        "filename": "bg2.jpg",
        "storename": "LlU2yVbiAujT7M5.jpg",
        "size": 39570,
        "path": "/2023/07/24/LlU2yVbiAujT7M5.jpg",
        "hash": "hbMCJryqgFifAVdE9OK1p3jYc",
        "url": "https://s2.loli.net/2023/07/24/LlU2yVbiAujT7M5.jpg",
        "delete": "https://smms.app/delete/hbMCJryqgFifAVdE9OK1p3jYc",
        "page": "https://smms.app/image/LlU2yVbiAujT7M5"
    },
    "RequestId": "8A696A28-00B1-453A-8080-4789D36Da90C"
}

官方文档

官方文档地址(国内网络可能无法进入或加载缓慢): smmsApi官方文档地址

posted @ 2023-07-24 10:31  Hmi1234  阅读(159)  评论(0编辑  收藏  举报