पर होस्ट करने के लिए एक फोटो अपलोड करना मैंने imgur के माध्यम से एक लिंक अपलोड करने और पुनर्प्राप्त करने के लिए विभिन्न विधियों का प्रयास किया है, लेकिन imgur api को देखने के बावजूद कोई भी सफल नहीं हुआ है। http://api.imgur.com/examples#uploading_javaएंड्रॉइड, प्रोग्रामिंग
लेकिन निम्न विधियों में आंशिक रूप से काम करता है .. im पुनः प्राप्त करने,
त्रुटियों की कोशिश कर रहा: यदि कोई त्रुटियां हुईं। छवि के लिए लिंक:
: छविकी मेजबानी की लेकिन मैं केवल के साथ "लिंक हटाते" हैं, के रूप में दूसरों रिक्त हैं, यह बाहर की जाँच खत्म हटाने के लिए लिंक: छवि के लिए लिंक हटाना लिंक की मेजबानी की
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;
}
सभी मैं अंत में वापस मिल ही हटाने के लिंक के साथ एक hashmap mImageResponse ...
किसी भी विचार क्या im पर गलत कर?
इस को ठीक केवल था के लिए URL बदलने के लिए: http://imgur.com/ api/upload.xml – asd2005
आपने किस लाइब्रेरी का उपयोग किया था? – emesx
मुझे पता है कि यह साल पुराना है, लेकिन मुझे एक कक्षा मिल रही है जिसे फाइलबॉडी के लिए अपवाद नहीं मिला है। आपने उस वर्ग को कहां से आयात किया? – PeteH