首页 > 编程语言 >SMMS图床Java接口上传

SMMS图床Java接口上传

时间:2023-07-24 10:46:56浏览次数:45  
标签:SMMS app jpg smms 图床 https Java LlU2yVbiAujT7M5 图片

前言

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

标签:SMMS,app,jpg,smms,图床,https,Java,LlU2yVbiAujT7M5,图片
From: https://www.cnblogs.com/hmi1234/p/17576592.html

相关文章

  • Mac版多平台Java开发工具JetBrains IntelliJ IDEA 2023
    JetBrainsIntelliJ是一个多平台的Java开发工具,可以用于Java开发。它可以帮助您在Linux、Windows、Mac和Linux上开发基于Java的应用程序、软件和服务。它还提供了一个跨平台的工具包,可以为开发者提供Java开发者的基础设施设计支持。JetBrainsIntelliJ与Linux有很多相似之处:Java......
  • Java面试题全集(二)
    1.⾸先CopyOnWriteArrayList内部也是⽤过数组来实现的,在向CopyOnWriteArrayList添加元素时,会复制⼀个新的数组,写操作在新数组上进⾏,读操作在原数组上进⾏2.并且,写操作会加锁,防⽌出现并发写⼊丢失数据的问题3.写操作结束之后会把原数组指向新数组4.CopyOnWriteArrayList允许......
  • Java 诊断工具 Arthas 常见命令(超详细实战教程)
    基本概念  云原生这么多微服务,当然需要一个诊断利器来排查问题。  Arthas是阿里开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。Arthas支持JDK6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的Tab......
  • java并发编程(一)----初识
    一、什么是并发  先看“科普中国”给出的官方解释。并发在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。   通俗来讲,并发就是指同一时间间隔内发生两个或多......
  • 数组去重方法总结(JavaScript 记录)
    在进行项目开发的时候,有时候需要把一些前端的数组进行去重处理,得到一个去重后的数据,然后再进行相关的操作,这也是在前端面试中经常出现的问题数组去重的多种方法:利用ES6Set去重利用for嵌套for,然后splice去重利用indexOf去重利用sort()去重利用对象的属性不能相......
  • 入门篇-其之一-第一个Java程序
    ⚠️注意:本文中包含实际操作,需要安装JDK。如果需要安装JDK,请按照这篇文章的步骤进行安装:点我查看JDK安装教程小白可以多看几遍这篇文章,多敲几次代码前面我们已经安装了JDK,接下来就是写一个属于自己的Java程序了。用什么写自己的Java程序呢?有人说用IDEA、Eclipse等集成开发工......
  • Java基础复习—— IO流2
    IO流节点流和处理流节点流可以从一个特点的数据源读写数据,如FileReader、FileWriter处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上,为程序提供更为强大的读写功能,也更加灵活,如BufferedReader、.BufferedWriter区别和联系节点流是底层流(低级流),直接和数据源......
  • java深浅拷贝
    对于Java拷贝的理解在java语言中,当我们需要拷贝一个对象的时候,常见的会有两种方式的拷贝:深拷贝和浅拷贝。浅拷贝只是拷贝了原对象的地址,所以原对象的任何值发生改变的时候,拷贝对象的值也会随之而发生变化。拿地址。深拷贝则是拷贝源对象的所有值而不是地址,所以即源......
  • 牛客周赛Round4(java)
     Java组代码importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);intn=scanner.nextInt();intm=scanner.nextInt();StringBuildersb=newStringB......
  • Java服务刚启动时,一小波接口超时排查全过程
    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。简介我们组有一个流量较大的Java服务,每次发代码时,服务都会有一小波接口超时,之前简单分析过,发现这些超时的case仅发生在服务刚启动时,少量请求会耗时好几秒,但之后又马上恢复正常。问题发生如下,是我们服务的......