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官方文档地址
SMMS图床Java接口上传的更多相关文章
- java 调用Spring接口上传文件及其他参数填充
第一步:在Spring配置中添加以下内容 <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver --> < ...
- win10 uwp smms图床
本文,如何使用smms图床上传图片,用到win10 uwp post文件,因为我是渣渣,如果本文有错的,请和我说,在本文评论,或发给我邮箱lindexi_gd@163.com,请不要发不良言论 找到一 ...
- 使用RestTemplate调用接口上传文件
场景 接口接受一个文件,缓存在本地,验证文件的完整性及内容,然后将文件上传至云服务器: 下面只写利用RestTemplate将文件上传至云服务器,至于文件上传以及缓存在本地可以参考:JAVA文件上传: ...
- 将linux上的Java代码上传到码云
将linux上的Java代码上传到码云 1.在linux上直接输入命令获取git sudo apt-get install git 显示资源被占用,按照图中方法强制安装 2.建立与教材配套的目录结构 ...
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- 2013第38周日Java文件上传下载收集思考
2013第38周日Java文件上传&下载收集思考 感觉文件上传及下载操作很常用,之前简单搜集过一些东西,没有及时学习总结,现在基本没啥印象了,今天就再次学习下,记录下自己目前知识背景下对该类问 ...
- java图片上传(mvc)
最近有开始学起了java,好久没写文章了,好久没来博客园了.最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的.后台接收用的是mvc.不墨迹了,直接上图. 先看目录结构.i ...
- java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载
java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载 实现功能:zip文件上传,后台自动解压,Jstree树目录(遍历文件),editor.md预览 采用Spring+Sp ...
- Myeclipse10.7安装git插件并将Java项目上传到码云(github)
注:本文来源:外匹夫的<Myeclipse10.7安装git插件并将Java项目上传到码云(github)> 一.先说说安装egit插件的步骤(安装egit不成功的原因主要是下载的egit ...
- Java ftp上传文件方法效率对比
Java ftp上传文件方法效率对比 一.功能简介: txt文件采用ftp方式从windows传输到Linux系统: 二.ftp实现方法 (1)方法一:采用二进制流传输,设置缓冲区,速度快,50M的t ...
随机推荐
- Blazor 组件库 BootstrapBlazor 中Modal组件介绍
组件说明 Model组件是一个模态框组件,可以弹出一个对话框,适合需要定制性更大的场景. 它的样子如下: 其html代码为: <div class="modal-content&quo ...
- HZNU Winter Trainning 7 补题 - Zeoy
CodeForces - 1660C 题目传送门:https://vjudge.net/contest/535955#problem/C 题意:询问一个字符串最少删去几个字符,能够把这个字符串变成aa ...
- Android运行时请求权限封装
@ 目录 1 介绍 2 测试用例设计 3 实现 4 用例测试 5 总结 本文目的:"借助透明Activity封装一个易于调用的权限请求模块" 1 介绍 Android权限的校验和申 ...
- HBuilderX代码缩进问题
前情 uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app,自然也是用官方自带的IDE了 ...
- cve-2021-3156-sudo堆溢出简单分析
调试方式 首先从github下载代码 https://github.com/sudo-project/sudo/archive/SUDO_1_9_5p1.tar.gz 编译 tar xf sudo-S ...
- 2024-12-18:正方形中的最多点数。用go语言,给定一个二维数组 points 和一个字符串 s,其中 points[i] 表示第 i 个点的坐标,s[i] 表示第 i 个点的标签。 如果一个正
2024-12-18:正方形中的最多点数.用go语言,给定一个二维数组 points 和一个字符串 s,其中 points[i] 表示第 i 个点的坐标,s[i] 表示第 i 个点的标签. 如果一个正 ...
- 使用 IntelliJ IDEA 构建 Spring Framework 5.3.21 源码问题解决
源码版本 1.下载地址:https://github.com/spring-projects/spring-framework/tags 2.选择要构建的源码版本并下载,例如:5.3.21 相关环境 ...
- Docker封装Java环境镜像(Alpine+OpenJDK)
在给Java程序封装镜像时,使用的基础镜像动辄上百M,还需要每次部署的时候挂载时区等问题,不如自己封装一个镜像,供之后使用. 这里使用Alpine Linux(3.9) 安装OpenJDK 1.8及部 ...
- jQuery ajax - serializeArray() 方法 实例表单提交
serializeArray()在ajax表单提交时候非常方便获取元素 定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比 ...
- Qt音视频开发29-ffmpeg中x264/x265编码库支持
一.前言 有了解码当然对应又有编码,编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码.用预先规定的方法将文字.数字或其它对象编成数码,或将信息.数据转换成规定的电脉冲 ...