2011-11-14 5 views
0

주어진 URL 경로에서 .PDF 파일을 다운로드 할 수있는 앱을 작성했습니다. 하지만 VM에서 실행할 때 내 앱에서 파일을 다운로드 할 수 없다는 것을 알았습니다. 그래서 DownloadManager을 VM에 시도했지만 여전히 파일을 다운로드 할 수 없습니다. 그리고 DownloadManage가 중지되고 항상 "OnGoing"을 표시했습니다. 아무도 나에게 이유와이 문제를 해결하는 방법을 말할 수 있습니까? 미리 감사드립니다. PS : *이 내 코드가 잘못 생각 해달라고하지만, 안드로이드 에뮬레이터의 문제 :이Android : 가상 머신이 웹 사이트에서 파일을 다운로드 할 수 없습니다.

public File writeFileToSDCard(String path,String fileName,InputStream in){ 
    File file = null; 
    OutputStream out = null; 
    try{ 
     if(!createDir(path)){ 
      Log.e("FileUtils.java", "writeFileToSDCard().createDir() failed!"); 
     }else{ 
      Log.e("FileUtils.java", "writeFileToSDCard().createDir() Successed!"); 
     } 
     file = createFile(path+fileName); 
     out = new FileOutputStream(file); 
     byte buffer[] = new byte[128]; 
     //write the file 
     do{ 
      int length = in.read(buffer); 
      if(length != -1){ 
       Log.e("FileUtils.java", "Writing to card!"); 
       out.write(buffer, 0, length); 
      }else{ 
       break; 
      } 
     }while(true); 
    }catch(Exception e){ 
     Log.e("FileUtils.java", "writeFileToSDCard() failed!"); 
    }finally { 
     try{ 
      out.close(); 
     }catch (Exception e) { 
      Log.e("FileUtils.java", "writeFileToSDCard() finally failed!"); 
     } 
    } 
    return file; 
} 

* PSS 쓰기?

+1

다운로드하려는 파일에 URL과 다운로드하려는 코드를 게시하십시오. – Bobbake4

+0

VM에 의해, 당신은 안드로이드 에뮬레이터를 의미합니까? 실제 장치에서 파일을 다운로드 해 보셨습니까? –

+0

@Aki yes, android emulator. –

답변

0

아마도 서버에서 파일을 다운로드 할 수있는 권한이 없기 때문일 수 있습니다.

비슷한 문제가 몇 일 전 이었지만 서버 디렉토리에 .htacces 파일을 만들어 해결했습니다.

satisfy any 

을하고 pdf 파일이있는 디렉토리에 저장이를 포함 .htacess라는 이름의 파일을 만듭니다. 나는 이것이 어떻게 작동하는지 익숙하지 않지만 권한과 관련이 있다고 생각한다. 이렇게하면 누구든지 해당 디렉토리의 내용에 액세스 할 수 있습니다. 그리고 나는 이것이 아파치 서버들에게만 바랄 것이라고 믿는다.

작동 여부는 모르지만 그만한 가치는 있습니다.

+0

답장을 보내 주셔서 감사합니다.하지만 PDF 파일은 웹 사이트에 있으며 .htacess 파일을 작성하여 서버에 넣을 수 없습니다. 감사합니다 :-) –

관련 문제