其他分享
首页 > 其他分享> > Android twitter4j – 如何共享远程图像?

Android twitter4j – 如何共享远程图像?

作者:互联网

我已经成功设置了twitter4j,现在可以发布文本更新,并将本地媒体从设备上传到twitter.但我真正需要做的是从网络共享远程图像 – 例如http://example.com/image.png.

当我执行此代码时……

StatusUpdate statusUpdate = new StatusUpdate(“Hello Twitter”);
String imageUrl =“http://example.com/image.png”;
文件文件=新文件(imageUrl);
statusUpdate.setMedia(文件);
twitter4j.Status status = twitter.updateStatus(statusUpdate);

…看起来像twitter4j试图将url视为本地,因为它似乎将一个/放在它前面,然后抛出异常说…
/http://example.com/image.png:打开失败:ENOENT(没有这样的文件或目录)

怎么解决?谢谢.

解决方法:

我发现还有另一个setMedia()方法接受输入流作为其中一个参数.这个输入流可以链接到远程图像,像这样……

StatusUpdate statusUpdate = new StatusUpdate("Hello Twitter");
String imageUrl = "http://example.com/image.png";
URL url = new URL(imageUrl);
URLConnection urlConnection = url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
statusUpdate.setMedia("image.png", in);
twitter4j.Status status = twitter.updateStatus(statusUpdate);
//might be a good idea to close the inputstream in a finally block

标签:twitter4j,android,image,twitter
来源: https://codeday.me/bug/20190824/1712768.html