Tôi đã thử các phương pháp khác nhau để tải lên và truy xuất liên kết qua imgur nhưng không có ảnh nào thành công mặc dù đang xem api tuyệt vời. http://api.imgur.com/examples#uploading_javaAndroid, tải lên ảnh để lưu trữ trên imgur theo chương trình
Nhưng các phương pháp sau phần trình .. im cố gắng để lấy,
lỗi: nếu có lỗi xảy ra. liên kết đến hình ảnh: liên kết đến hình ảnh tổ chức link delete: liên kết để xóa các hình ảnh đã tổ chức
Nhưng tôi chỉ kết thúc với "xóa liên kết", như những người khác đang trống, check it out:
public void post(String path) {
List<NameValuePair> postContent = new ArrayList<NameValuePair>(2);
postContent.add(new BasicNameValuePair("key", DEV_KEY));
postContent.add(new BasicNameValuePair("image", path));
String url = "http://api.imgur.com/2/upload";
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(url);
try {
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
for(int index=0; index < postContent.size(); index++) {
if(postContent.get(index).getName().equalsIgnoreCase("image")) {
// If the key equals to "image", we use FileBody to transfer the data
entity.addPart(postContent.get(index).getName(), new FileBody(new File (postContent.get(index).getValue())));
} else {
// Normal string data
entity.addPart(postContent.get(index).getName(), new StringBody(postContent.get(index).getValue()));
}
}
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost, localContext);
mImgurResponse = parseResponse (response);
Iterator it = mImgurResponse.entrySet().iterator();
while(it.hasNext()){
HashMap.Entry pairs = (HashMap.Entry)it.next();
Log.i("INFO",pairs.getKey().toString());
if(pairs.getValue()!=null){
reviewEdit.setText(pairs.getValue().toString());
Log.i("INFO",pairs.getValue().toString());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
private Map<String,String> parseResponse(HttpResponse response) {
String xmlResponse = null;
try {
xmlResponse = EntityUtils.toString(response.getEntity());
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (xmlResponse == null) return null;
HashMap<String, String> ret = new HashMap<String, String>();
ret.put("error", getXMLElementValue(xmlResponse, "error_msg"));
ret.put("delete", getXMLElementValue(xmlResponse, "delete_page"));
ret.put("original", getXMLElementValue(xmlResponse, "original_image"));
return ret;
}
private String getXMLElementValue(String xml, String elementName) {
if (xml.indexOf(elementName) >= 0)
return xml.substring(xml.indexOf(elementName) + elementName.length() + 1,
xml.lastIndexOf(elementName) - 2);
else
return null;
}
Tất cả tôi nhận được trở lại cuối cùng là một mImageResponse hashmap với chỉ liên kết xóa ...
bất kỳ ý tưởng về những gì im làm sai?
Việc sửa chữa này chỉ đơn thuần là để thay đổi URL tới: http://imgur.com/ api/upload.xml – asd2005
Bạn đã sử dụng thư viện nào? – emesx
Tôi biết đây là năm cũ nhưng tôi nhận được một lớp học không được tìm thấy ngoại lệ cho FileBody. Bạn đã nhập lớp đó từ đâu? – PeteH