简体   繁体   English

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

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

I have uploaded image using a http://... URL. 我已使用http:// ... URL上传图像。 but i dont want to use URL .I want to upload image on tumbler from local sdcard of mobile. 但我不想使用URL。我想从本地sdcard在不倒翁上上传图像。 I tried all these solutions Uploading Images to tumblr API from Android but nothing worked for me. 我尝试了所有这些解决方案, 将图像从Android上传到tumblr API,但对我没有任何帮助。

i posted image by URL like this :- 我通过这样的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 UPDATE

I am using this code 我正在使用此代码

     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);

I got the encodedImage like this :- 我有这样的encodedImage:-

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

I am getting Error : - Bed request, Post can not be empty. 我收到错误消息:- 床请求,帖子不能为空。

I think i am missing something in parameter or i am sending any wrong tag. 我认为我在参数中缺少某些内容或发送了任何错误的标签。

Do any body have any solution. 任何人有什么解决办法。
I have downloaded jumblr jar file. 我已经下载了jumblr jar文件。 but i don't know how to use it. 但我不知道如何使用它。 Is my work is possible without jumbler. 没有杂乱无章的我的工作是可能的吗? Please reply. 请回复。

The source does not expect URL. 来源不希望使用URL。 It expects URI. 它需要URI。 Did you try : nameValuePairs.add(new BasicNameValuePair("source","file:///sdcard/img.png")); 您是否尝试过: nameValuePairs.add(new BasicNameValuePair("source","file:///sdcard/img.png")); ?

Moreover, instead of source, you can specify data and supply the actual bytes of the image using a bytebuffer 此外,您可以指定data并使用字节缓冲区提供图像的实际字节,而不是源

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

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