我有一个 Java 应用程序,我尝试通过带有 Jersey 的图形 api 将照片上传到 Facebook。到目前为止,泽西岛一切正常,我可以发布消息等。
我搜索了几个小时以找到一个如何做到这一点的例子。我发现的最好的教程是这个:
http://neopatel.blogspot.de/2011/04/jersey-posting-multipart-data.html
我唯一知道的是我必须使用 multipart/formdata。
有没有人有一个例子或知道必须这样做?
我有一个 Java 应用程序,我尝试通过带有 Jersey 的图形 api 将照片上传到 Facebook。到目前为止,泽西岛一切正常,我可以发布消息等。
我搜索了几个小时以找到一个如何做到这一点的例子。我发现的最好的教程是这个:
http://neopatel.blogspot.de/2011/04/jersey-posting-multipart-data.html
我唯一知道的是我必须使用 multipart/formdata。
有没有人有一个例子或知道必须这样做?
您是否尝试使用jersey-multipart包?
您为文件创建一个FormDataMultiPart
,为消息和 access_token 创建一个。FileDataBodyPart
FormDataBodyPart
这是我的解决方案。
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);