[JAVA] Parlez du téléchargement de fichiers à l'aide de l'API Slack avec Apache HttpPost

L'article de stackoverflow que j'ai trouvé en essayant de télécharger un fichier avec l'API Slack était un peu indigeste, je vais donc l'écrire. How to upload a file using Apache HttpPost Même si vous écrivez comme ci-dessus, ce sera 200 OK, mais "pas de données de fichier" Par conséquent, le téléchargement du fichier n'a pas réussi. J'avais lu cet article à l'avance, donc POST multipart / form-data avec HttpURLConnection Je me suis demandé si je devais utiliser InputStream, et quand j'ai vérifié l'argument de la méthode dans le document officiel, il était toujours là. MultipartEntityBuilder

Le jeton utilisé pour l'API a été pré-injecté.

public String post(File file) {
		CloseableHttpClient client = HttpClientBuilder.create()
		        .build();
		HttpEntity requestEntity=null;
		try {
			requestEntity = MultipartEntityBuilder.create()
					.addTextBody("token", token)
					.addTextBody("filetype", "jpg")
.addBinaryBody("file", new FileInputStream(file),ContentType.IMAGE_JPEG,"graph")
			        .build();
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}
		HttpPost post = new HttpPost(URL);
		String result = null;
		try {
			post.setEntity(requestEntity);
			HttpResponse response = client.execute(post);
			logger.info("Status: {}", response.getStatusLine());
			result = collectResponse(response);
	
		} catch (IOException e) {
			logger.error("While posting", e);
		}
		return result;
	}
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.5</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpmime</artifactId>
    <version>4.3.1</version>
</dependency>

Lien de référence: https://github.com/salahsheikh/jpushbullet/blob/master/src/main/java/com/github/silk8192/jpushbullet/PushbulletClient.java

Recommended Posts

Parlez du téléchargement de fichiers à l'aide de l'API Slack avec Apache HttpPost
À propos de l'API Apache Inference
Mâchez l'API
Parlez du téléchargement de fichiers à l'aide de l'API Slack avec Apache HttpPost
À propos de la compilation, de l'API, de l'implémentation, etc. de Gradle
À propos de l'API Apache Inference
Téléchargez des fichiers volumineux avec Apache JMeter
[Java] Gérer les fichiers Excel avec Apache POI