Fotomizer Asked:2020-04-24 16:28:03 +0000 UTC2020-04-24 16:28:03 +0000 UTC 2020-04-24 16:28:03 +0000 UTC java电报bot上传文件 772 java - 如何通过java中的机器人实现文档(任何二进制文件)的卸载?例如,在命令中,机器人生成 xlsx 并且必须将其上传给用户。这很奇怪,但谷歌这个问题没有用。 java 1 个回答 Voted Best Answer Peter Samokhin 2020-04-24T16:40:42Z2020-04-24T16:40:42Z 据我了解,您需要将文档发送给用户吗? 这是文档:https ://core.telegram.org/bots/api#sending-files 我们看到文档可以通过 URL 或多部分发送。您想自己形成,所以 URL 不适合我们。 所以我们需要向所需的端点发送一个请求,正文在多部分中。 // Формируем url String url = "https://api.telegram.org/bot" + TELEGRAM_TOKEN + "/sendDocument"; // OkHttp клиент OkHttpClient client = new OkHttpClient(); // Нужный файл File sourceFile = new File("files/doc.xlsx"); // Непосредственно тело запроса // Не забудьте, что требуются ещё и другие параметры RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("document", sourceFile.getName(), RequestBody.create(MediaType.parse("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"), sourceFile)) .build(); Request request = new Request.Builder() .url(url) .post(requestBody) .build(); Response response = client.newCall(request).execute(); String responseString = response.body().string(); 该示例使用OkHttp。
据我了解,您需要将文档发送给用户吗?
这是文档:https ://core.telegram.org/bots/api#sending-files
我们看到文档可以通过 URL 或多部分发送。您想自己形成,所以 URL 不适合我们。
所以我们需要向所需的端点发送一个请求,正文在多部分中。
该示例使用OkHttp。