마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

서버에서 글자를 받아와서 이미지를 불러오면 안됩니다.

0 추천
 private class back extends AsyncTask<String, Integer,Bitmap>{  // 서버 이미지 폴더에서 그림 받아 오는 함수
       
 
 
       @Override
       protected Bitmap doInBackground(String... urls) {
           // TODO Auto-generated method stub
           try{
               URL myFileUrl = new URL(urls[0]);
               HttpURLConnection conn = (HttpURLConnection)myFileUrl.openConnection();
               conn.setDoInput(true);
               conn.connect();
               
               InputStream is = conn.getInputStream();
               
               bmImg = BitmapFactory.decodeStream(is);
               
               
           }catch(IOException e){
               e.printStackTrace();
           }
           return bmImg;
       }
       
       protected void onPostExecute(Bitmap img){
           iv.setImageBitmap(bmImg);  // 프로필 사진 뒷 부분에 이미지를 넣는다. 
           iv.setScaleType(ImageView.ScaleType.FIT_XY); // 이미지 타입 설정
       }
       
   }

--------------------------------------------------------------------------------------------------------------------------------위로 이미지 파일 불러오기 밑에는 php웹서버에서 이미지 파일 이름 불러오기

 private class phpDown extends AsyncTask<String, Integer, String> { // 받아오기
 
@Override
protected String doInBackground(String... urls) {
// TODO Auto-generated method stub
StringBuilder jsonHtml = new StringBuilder();
try {
// 연결 url 설정
URL url = new URL(urls[0]);
// 커넥션 객체 생성
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
// 연결되었으면.
if (conn != null) {
conn.setConnectTimeout(5000);
conn.setUseCaches(false);
// 연결되었음 코드가 리턴되면.
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream(),"UTF-8"));
for (;;) {
// 웹상에 보여지는 텍스트를 라인단위로 읽어 저장.
String line = br.readLine();
if (line == null)
break;
// 저장된 텍스트 라인을 jsonHtml에 붙여넣음
jsonHtml.append(line + "\n");
}
br.close();
}
conn.disconnect();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return jsonHtml.toString();
}
 
protected void onPostExecute(String str) {
//img_str= str;
TxtView.setText("1 : "+str);
TxtView2.setText("2 : "+img_str);
 
task = new back();
task.execute(imgUrl+str);
Log.e("str", str);
Log.e("img_str", img_str);
}
 
}
 
서버에서 이미지 파일 이름 값을 받아와서 어플 화면에 이미지를 출력합니다. 여기서
 
그림을 불러오는게 task.execute(imgUrl+str)인데 여기서 str 이부분을 직접 타이핑해서 파일이름(2014-10-25_14_42_4006809_BG.jpg)을 치면 이미지가 출력 됩니다. 하지만 제가 위에 올려 놓은 함수로 서버에서 2014-10-25_14_42_4006809_BG.jpg 파일 이름을 받아서 사용하면 이미지가 불러와지지가 않습니다. 제가 아무리 문제점이 뭔지 파악 할려고 해도 로그 캣에서 그냥 단순힌 파일을 찾을수 없다고 나옵니다.
 
java.io.FileNotFoundException: http://192.168.0.3/memberimg/2014-10-25_14_42_4006809_BG.jpg
 
ㅠㅠ
 
쉽게 말하면 직접 
task.execute(imgUrl+str) 이렇게 str 을 서버에서 받아오면 안되고
task.execute(imgUrl+"2014-10-25_14_42_4006809_BG.jpg") 이렇게 직접 타이핑 하면 됩니다.
 
제발 도와주세요.
금색술 (500 포인트) 님이 2014년 10월 29일 질문

1개의 답변

0 추천
뒤에 줄바꿈이 붙어서 그런거 같군요
 
task.execute(imgUrl+str.trim()); 하거나
 
처음부터 \n이 안붙도록 해서 해보세요
alkyne (22,960 포인트) 님이 2014년 10월 29일 답변
안타깝지만 그런 쪽의 문제가 아니네요. 답변 감사합니다.ㅜㅜ
...