2014-02-12 2 views
1

http : // ... URL을 사용하여 이미지를 업로드했습니다. 하지만 난 URL을 사용하고 싶지 않아. 난 모바일의 로컬 sdcard에서 텀블러에 이미지를 업로드하고 싶습니다. 나는이 모든 솔루션을 시도했지만 아무 것도 작동하지 않았다.Android의 텀블러에 sd-card의 이미지 업로드

는이 같은 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 나는이 같은 encodedImage 가지고

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

이 코드를 사용하고

: -

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 파일을 다운로드했습니다. 그러나 나는 그것을 어떻게 사용하는지 모른다. jumbler없이 내 작업이 가능합니까? 회신 해주십시오.

답변

0

URL에 URL이 필요하지 않습니다. 그것은 URI를 기대합니다. 시도해 보셨습니까 : nameValuePairs.add(new BasicNameValuePair("source","file:///sdcard/img.png"));?

또한 소스 대신 data을 지정하고 바이트 버퍼를 사용하여 이미지의 실제 바이트를 제공 할 수 있습니다.