java - java.lang.IllegalStateException:已经连接(Discord JDA)
问题描述
URL uImg;
File fImg = new File("img.png");
try {
uImg = new URL(msg.getAuthor().getAvatarUrl());
URLConnection uc = uImg.openConnection();
uc.connect();
uc.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
FileUtils.copyURLToFile(uImg, fImg);
} catch (IOException e) {
e.printStackTrace();
}
我正在尝试将 URL(Discord)中的图像传输到文件,但出现错误“java.lang.IllegalStateException:已连接”我是编程新手,我不知道为什么会发生这种情况
解决方案
由于您使用的是 JDA,因此您可以利用它使用的 http 客户端:
OkHttpClient http = jda.getHttpClient(); // getHttpClient since JDA 4.0.0
Request req = new Request.Builder()
.url(avatarUrl)
.addHeader("User-Agent", "DiscordBot")
.build();
try (Response r = http.newCall(req).execute();
FileOutputStream fileOut = new FileOutputStream(file)) {
r.body().byteStream().transferTo(fileOut); // transferTo since java 9
} catch (IOException e) {
e.printStackTrace();
}
也可以看看:
推荐阅读
- amazon-web-services - AWS首次登录找不到Account ID
- python - 添加带有条件着色的水平线
- hyperledger-fabric - Chaincode 可以被 cli 容器列出,但在 peer 容器中不存在
- javascript - reactjs如何从文件中获取字节数组
- php - 如何使用 Php Laravel 从网站中删除背景图片?
- facebook-instant-games - Android 设备上的 Facebook Instant Game IAP
- python - Django 为不同的 url 读取相同的 CBV
- outlook - conversationId - 如何检测多个用户之间的对话
- javascript - 按钮更改参数的真/假
- java - 如何修复 RocketmqClient 中的“主题名称服务器中没有主题路由信息”异常