我正在尝试使用带有Java Web应用程序的API将图像上传到Imgur。我已经从Imgur API uploading复制了这个人的代码。我的方法似乎已成功运行"但我不认为发生了什么事。除了BUILD SUCCESS之外我没有得到任何反馈,我不确定如何获得反馈(错误)。
我愿意花很多时间让这个工作起来,但我想知道是否有人可以通过暗示为什么我目前的实施似乎不起作用来启动我?
我制作了一个普通的Java类并粘贴在以下内容中:
package main;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import javax.imageio.ImageIO;
/**
*
* @author J
*/
public class TestImgur1 {
public static String getImgurContent(String clientID) throws Exception {
clientID = "(edited out)";
URL url;
url = new URL("https://api.imgur.com/3/image");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
String data = URLEncoder.encode("image", "UTF-8") + "="
+ URLEncoder.encode("http://i.imgur.com/FB9OZWQ.jpg", "UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Client-ID " + clientID);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
conn.connect();
StringBuilder stb = new StringBuilder();
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
stb.append(line).append("\n");
}
wr.close();
rd.close();
System.out.println(stb.toString());
return stb.toString();
}
}
我创建了第二个普通Java类来调用第一个,所以我可以运行它:
package main;
import java.io.IOException;
public class ImgurMainTest1 {
public static void main(String[] args) throws IOException
{
try{
TestImgur1 TestImgur1 = new TestImgur1();
}catch (Exception e) {}
}
}
如果你能提出为什么没有发生任何事情(除了BUILD SUCCESS之外),这将真正帮助我开始。我已经四处寻找关于这个主题的其他问题/答案,但似乎每个人都试图以不同的方式实现它,而且我很难解释。谢谢你的阅读
答案 0 :(得分:1)
只需在main方法
中调用TestImgur1.getImgurContent()