![](/img/trans.png)
[英]“Permission denied” when uploading an image through Imgur's API in Android
[英]Retrieving imgur upload link after uploading an image through java
因此,我正在使用imgur api示例之一来上传图像,但仍停留在如何检索上传链接以查看图像上。
这是我到目前为止的内容,据我所知,它可以将其上载,但是如果没有链接到上载,它本身就不是很有用。
到目前为止,这就是我所拥有的。
String IMGUR_POST_URI = "http://api.imgur.com/2/upload.xml";
String IMGUR_API_KEY = "MY API KEY";
String file = "C:\\Users\\Shane\\Pictures\\Misc\\001.JPG";
try
{
// Creates Byte Array from picture
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.out.println("Writing image...");
ImageIO.write(getBufferedImageFromImage(Toolkit.getDefaultToolkit().createImage(file)), "png", baos);
URL url = new URL(IMGUR_POST_URI);
System.out.println("Encoding...");
//encodes picture with Base64 and inserts api key
String data = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(Base64.encodeBase64String(baos.toByteArray()).toString(), "UTF-8");
data += "&" + URLEncoder.encode("key", "UTF-8") + "=" + URLEncoder.encode(IMGUR_API_KEY, "UTF-8");
System.out.println("Connecting...");
// opens connection and sends data
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
System.out.println("Sending data...");
wr.write(data);
wr.flush();
}
catch(Exception e){e.printStackTrace();}
根据imgur文档,您应该使用上传的“响应”取回xml或json。
我发现这小段代码是在写入URL连接后获得响应的示例,也许会对您有所帮助。 这不是特定于imgur,但我认为代码应该相似。
public static void main(String[] args) throws Exception {
String stringToReverse = URLEncoder.encode(args[1], "UTF-8");
URL url = new URL(args[0]);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(
connection.getOutputStream());
out.write("string=" + stringToReverse);
out.close();
BufferedReader in = new BufferedReader(
new InputStreamReader(
connection.getInputStream()));
String decodedString;
while ((decodedString = in.readLine()) != null) {
System.out.println(decodedString);
}
in.close();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.