2017-09-07 10 views
0

을 사용하여 서버에 PDF를 보내는 안드로이드 :나는 내부 스토리지 (InternalStrorage/PDF/OCK.pdf)</p> <p>이미이 기능을 통해 문제없이 안드로이드 발리를 사용하여 내 PHP 서버에 문자열 데이터 전송에 저장된 PDF 파일을 보내 싶어 발리

private void upload(){ 

    StringRequest stringRequest = new StringRequest(Request.Method.POST, UploadURL, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 
        try { 
         JSONObject jsonObject = new JSONObject(response); 
         String Response = jsonObject.getString("response"); 
         Toast.makeText(getApplicationContext(),Response, Toast.LENGTH_LONG).show(); 
         selectedimage.setImageResource(0); 
         selectedimage.setVisibility(View.GONE); 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    } 
    ){ 
     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      Map<String, String> params = new HashMap<>(); 


      params.put("date",DateFormat.getDateTimeInstance().format(new Date()).toString()); 
          params.put("description",editTextDescription.getText().toString()); 
      params.put("statut", whatstatutis()); 
      params.put("action",editTextImediatActionTaken.getText().toString()); 
      return params; 
     } 



    }; 
    MySingleton.getInstance(getApplicationContext()).addTorequesteque(stringRequest); 

} 

나는 같은 시간에 내 데이터로 PDF 파일을 전송 싶어요.

+0

여러 부분 엔티티를 사용해보십시오 일반 문자열처럼 보내기 BASE64하는 바이트 배열에 2 바이트 배열을 PDF로 변환. 파일은 멀티 파트를 사용하여 보낼 수 있습니다. –

+0

@AshishJohn 위대한 튜토리얼 또는 유용한 링크가 있습니까? –

+0

아니면 따를 수 : 바이트 배열 1. 변환 pdf 파일 2 Base64로 인코딩 바이트 배열에 바이트 배열 바이트 [] encodedBytes = Base64.encodeBase64 (origByteArr) 및 문자열 base64Str = 새로운 문자열 (encodedBytes); 네트워크 라이브러리를 사용하여 보내십시오. – Napolean

답변

0

마지막으로 해결책을 찾았습니다. 1은 그냥 3가

byte[] data = null; 
    File filessss = new File(Link_Of_The_PDF.pdf); 

    try { 

     data = FileUtils.readFileToByteArray(filessss); 

    } catch (IOException e) { 

     e.printStackTrace(); 

    } 

    return Base64.encodeToString(data, Base64.DEFAULT);