繁体   English   中英

在Android的不倒翁上从SD卡上传图像

[英]Upload image from sd-card on tumbler in Android

我已使用http:// ... URL上传图像。 但我不想使用URL。我想从本地sdcard在不倒翁上上传图像。 我尝试了所有这些解决方案, 将图像从Android上传到tumblr API,但对我没有任何帮助。

我通过这样的URL发布图像:-

File fil = savebitmap(pattern_a);
        HttpPost hpost = new HttpPost("http://api.tumblr.com/v2/blog/"
                + strBlogName.replace(" ", "%20") + ".tumblr.com/post");
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);

nameValuePairs.add(new BasicNameValuePair("type", "photo"));
            nameValuePairs.add(new BasicNameValuePair("caption", "hello"));
            nameValuePairs.add(new BasicNameValuePair("source","http://pchtanks.com/wp-content/uploads/2013/10/tropical-fish11.jpg"));

UPDATE

我正在使用此代码

     nameValuePairs.add(new BasicNameValuePair("type", "photos"));
     nameValuePairs.add(new BasicNameValuePair("set_total", "1"));
             nameValuePairs.add(new BasicNameValuePair("name", "Akanksha"));
             nameValuePairs.add(new BasicNameValuePair("caption", "Hello yar"));

             nameValuePairs.add(new BasicNameValuePair("original","0"));
             nameValuePairs.add(new BasicNameValuePair("data", fil.getAbsolutePath().toString()));
             nameValuePairs.add(new BasicNameValuePair("source", encodedImage));
//              localContentValues2.put("tumblr_post_id", Long.valueOf(paramLong));
             nameValuePairs.add(new BasicNameValuePair("width", String.valueOf(pattern_a.getWidth())));
             nameValuePairs.add(new BasicNameValuePair("height", String.valueOf(pattern_a.getHeight())));
                localArrayList.add(nameValuePairs);

hpost.setEntity(new UrlEncodedFormEntity(nameValuePairs));



    consumerconsumer.sign(hpost);

    DefaultHttpClient client = new DefaultHttpClient();
    org.apache.http.HttpResponse resp = null;
    resp = client.execute(hpost);

    result = EntityUtils.toString(resp.getEntity());
    PrintLog.LOGV("Result : " + result);

我有这样的encodedImage:-

ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    pattern_a.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
    byte[] byteArray = stream.toByteArray(); 
    String encodedImage = Base64.encodeToString(byteArray, Base64.DEFAULT);

我收到错误消息:- 床请求,帖子不能为空。

我认为我在参数中缺少某些内容或发送了任何错误的标签。

任何人有什么解决办法。
我已经下载了jumblr jar文件。 但我不知道如何使用它。 没有杂乱无章的我的工作是可能的吗? 请回复。

来源不希望使用URL。 它需要URI。 您是否尝试过: nameValuePairs.add(new BasicNameValuePair("source","file:///sdcard/img.png"));

此外,您可以指定data并使用字节缓冲区提供图像的实际字节,而不是源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM