场景
数据库有自己项目的图片url地址,需要调用第三方接口把己方的图片上传,得到新的url。第三方接口是form-data请求类型。
导入的包
import cn.hutool.http.HttpRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
import org.springframework.util.StringUtils;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URL;
import java.util.Objects;
import java.util.UUID;
代码片段
String token = "需要的token";
String imageUrl = "己方图片地址url";
try {
if (!StringUtils.isEmpty(imageUrl)) {
URL path = new URL(imageUrl);
BufferedImage read = ImageIO.read(path);
if (!Objects.isNull(read)) {
String fileCode = UUID.randomUUID().toString();
File file = new File(fileCode + ".jpg");
ImageIO.write(read, "jpg", file);
String res = HttpRequest.post("请求url")
.contentType(MediaType.MULTIPART_FORM_DATA_VALUE)
.form("imgFile", file)
.form("token", token)
.timeout(5000)
.execute()
.body();
file.delete();
}
}
} catch (Exception e) {
e.printStackTrace();
}
总结
如有其他更好的方法或者想法,可以留言或联系分享,大家互相学习进步。