如何在电报机器人(JAVA)中下载文件
我想在我的telegram机器人代码中下载一个文件,许多教程都说我必须使用getFile方法,而我在telegram API的4.2版本中找不到这种方法 那么,如何将文件下载到主机pc中的特定目标?如何在电报机器人(JAVA)中下载文件,java,api,file,download,telegram,Java,Api,File,Download,Telegram,我想在我的telegram机器人代码中下载一个文件,许多教程都说我必须使用getFile方法,而我在telegram API的4.2版本中找不到这种方法 那么,如何将文件下载到主机pc中的特定目标? 谢谢假设您使用的是rubenlagus的TelegramBot SDK,因为我也面临同样的问题。下面是我的解决方案 GetFile getFile = new GetFile().setFileId(fileId); String filePath = execute(getFile).getFil
谢谢假设您使用的是rubenlagus的TelegramBot SDK,因为我也面临同样的问题。下面是我的解决方案
GetFile getFile = new GetFile().setFileId(fileId);
String filePath = execute(getFile).getFilePath();
File file = downloadFile(filePath, outputFile);
我也有同样的问题。
这就是我的解决方案。不是很好,但很管用
if (update.getMessage().hasDocument()){
String doc_id = update.getMessage().getDocument().getFileId();
String doc_name = update.getMessage().getDocument().getFileName();
String doc_mine = update.getMessage().getDocument().getMimeType();
int doc_size = update.getMessage().getDocument().getFileSize();
String getID = String.valueOf(update.getMessage().getFrom().getId());
Document document = new Document();
document.setMimeType(doc_mine);
document.setFileName(doc_name);
document.setFileSize(doc_size);
document.setFileId(doc_id);
GetFile getFile = new GetFile();
getFile.setFileId(document.getFileId());
try {
org.telegram.telegrambots.meta.api.objects.File file = execute(getFile);
downloadFile(file, new File("./data/userDoc/"+getID+"_"+doc_name));
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
我得到了这个解决方案
您希望bot将文件下载到服务器,还是希望bot强制任何客户端将文件下载到客户端系统?后者是不可能有希望的!!!。我认为下载必须由用户发起。这很好。如果有帮助,您可以检查: