2

我有一个 Java 应用程序,我尝试通过带有 Jersey 的图形 api 将照片上传到 Facebook。到目前为止,泽西岛一切正常,我可以发布消息等。

我搜索了几个小时以找到一个如何做到这一点的例子。我发现的最好的教程是这个:

http://neopatel.blogspot.de/2011/04/jersey-posting-multipart-data.html

我唯一知道的是我必须使用 multipart/formdata。

有没有人有一个例子或知道必须这样做?

4

2 回答 2

2

您是否尝试使用jersey-multipart包?

您为文件创建一个FormDataMultiPart,为消息和 access_token 创建一个。FileDataBodyPartFormDataBodyPart

于 2012-06-04T11:44:29.720 回答
2

这是我的解决方案。

String url = "https://graph.facebook.com/me/photos";
File file = new File("path");

ClientConfig cc = new DefaultClientConfig();
cc.getClasses().add(MultiPartWriter.class);
Client client = Client.create(cc);

WebResource webResource = client.resource(url); 
FormDataMultiPart fdmp = new FormDataMultiPart(); 

fdmp.bodyPart(new FileDataBodyPart("source", file, MediaType.APPLICATION_OCTET_STREAM_TYPE));
fdmp.bodyPart(new FormDataBodyPart("message", "YAY I did it!"));
fdmp.bodyPart(new FormDataBodyPart("access_token", accessToken));

ClientResponse response = webResource.type(MediaType.MULTIPART_FORM_DATA_TYPE).post(ClientResponse.class, fdmp); 
String string = response.getEntity(String.class); 
于 2012-06-04T18:10:42.120 回答