asd*_*005 5 java upload android photo imgur
我尝试了不同的方法来上传和检索链接通过imgur,但没有成功,尽管看着imgur api. http://api.imgur.com/examples#uploading_java
但以下方法部分工作..我试图检索,
错误:如果发生任何错误.链接到图像:图像托管删除链接的链接:删除托管图像的链接
但我最终只有"删除链接",因为其他人是空白,检查出来:
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 ...
关于我做错什么的任何想法?
| 归档时间: | 
 | 
| 查看次数: | 3468 次 | 
| 最近记录: |