通Java接口上传实现SMMS图床

 更新时间:2023年07月25日 08:47:43   作者:Hmi1234  
这篇文章主要介绍了通Java接口上传实现SMMS图床,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

前言

个人项目开发中,网站建设中需要用到大量的图片以及用户上传的图片,如果服务器带宽小,磁盘容量小将所有的图片信息全部存储在服务器上不太现实,这里建议将图片数据存储在对象存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官方文档地址大家自行百度,在这不给大家提供了,希望理解!

到此这篇关于通Java接口上传实现SMMS图床的文章就介绍到这了,更多相关java SMMS图床内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis配置文件中最常用的设置

    MyBatis配置文件中最常用的设置

    文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Mapper注册方式,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • SpringBoot Security使用MySQL实现验证与权限管理

    SpringBoot Security使用MySQL实现验证与权限管理

    安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot安全管理Spring Security基本配置
    2022-11-11
  • Java方法能定义多少个参数你知道吗

    Java方法能定义多少个参数你知道吗

    这篇文章主要给大家介绍了关于Java方法能定义多少个参数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • idea2020导入spring5.1的源码详细教程

    idea2020导入spring5.1的源码详细教程

    这篇文章主要介绍了idea2020导入spring5.1的源码的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Spring Cloud 2026 网关模式实现示例

    Spring Cloud 2026 网关模式实现示例

    本文主要介绍了Spring Cloud 2026 网关模式实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • Java线程安全和锁Synchronized知识点详解

    Java线程安全和锁Synchronized知识点详解

    在本篇文章里小编给大家分享的是关于Java线程安全和锁Synchronized相关知识点,有需要的朋友们可以参考下。
    2019-08-08
  • SpringBoot整合Aop全过程

    SpringBoot整合Aop全过程

    AOP(面向切面编程)技术可以高效地解决日志记录、事务管理、权限控制等问题,日志记录通过自定义注解和切面类,自动记录方法调用详情,减少重复代码,事务管理方面,通过AOP可以在不改变业务代码的情况下,实现事务的自动开启、提交和回滚,保证数据一致性
    2024-10-10
  • java基于netty NIO的简单聊天室的实现

    java基于netty NIO的简单聊天室的实现

    这篇文章主要介绍了java基于netty NIO的简单聊天室的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 详解SpringBoot中使用JPA作为数据持久化框架

    详解SpringBoot中使用JPA作为数据持久化框架

    这篇文章主要介绍了SpringBoot中使用JPA作为数据持久化框架的相关知识,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 使用maven整合Spring+SpringMVC+Mybatis框架详细步骤(图文)

    使用maven整合Spring+SpringMVC+Mybatis框架详细步骤(图文)

    这篇文章主要介绍了使用maven整合Spring+SpringMVC+Mybatis框架详细步骤(图文),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05

最新评论