2012-12-13 5 views
0

내가 얼마 전에 여기에 게시 방법을 사용하여 내 테스트 서버에 이미지 파일 (JPEG)을 업로드하려고 해요 통해 이미지 :안드로이드 업로드 HTTP

    try { 
     String pathToOurFile = path; 
     FileInputStream fileInputStream = 
     new FileInputStream(new File(pathToOurFile)); 

     BufferedInputStream bis = new BufferedInputStream(fileInputStream,3000); 
     byte[] bt=new byte[bis.available()]; 

     HttpURLConnection connection = 
     (HttpURLConnection)new URL(string).openConnection(); 
     connection.setDoOutput(true); 
     connection.setRequestMethod("POST"); 
     connection.connect(); 

     FileOutputStream input = (FileOutputStream) connection.getOutputStream(); 
     input.write(bt); 
     bis.close(); 

    } catch (MalformedURLException e) { 
     Context context = null; 

     Toast.makeText(context, "error in writing", Toast.LENGTH_LONG).show(); 

     e.printStackTrace(); 
    } catch (IOException e) { 

     e.printStackTrace(); 
    } 

    } 

나는이 라인에서 ClassCastException이납니다을 : FileOutputStream 입력 = (FileOutputStream) connection.getOutputStream(); Eclipse가 오류로 표시하지 않는다고 생각했습니다. 어떻게 해결할 수 있습니까?

P. 프로젝트가 API lvl에 대해 컴파일 됨 17

답변

1

getOutputStream()에 의해 반환 된 스트림은 FileOutputStream이 아니므로 형 변환에 실패했습니다. 이클립스는 캐스트를 수행하면 결과가 FileOutputStream이라는 것을 알기 때문에 경고하지 않습니다.

변수 유형을 OutputStream으로 변경하고 캐스트를 제거하십시오.

+0

시도했지만 아무 것도 보이지 않습니다. 파일이 서버에 없으며 LogCat 창에 정보가 없습니다 .. 이미지를 업로드하는 방식에 문제가 있습니까? – Droidman

0

그냥 FileOutputStream을 OutputStream으로 변경하십시오.