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

웹뷰 다운로드 관련 질문입니다.

0 추천
안녕하세요.

제 딸내미 학교의 공지사항으로 올라오는 파일들을 앱으로 쉽게 다운 받으려고 대충 홈페이지를 파싱해서 파일을 다운 받을 수 있게 하는기능을 구현하고 있습니다.

webView.setDownloadListener(new KSDownloadListener(this));

이런식으로 다운로드 리스너를 등록했고 리스너 클래스 안에는

 @Override
    public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long contentLength) {
        DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

        request.setMimeType(mimeType);
        //------------------------COOKIE!!------------------------
        String cookies = CookieManager.getInstance().getCookie(url);
        request.addRequestHeader("cookie", cookies);
        //------------------------COOKIE!!------------------------
        request.addRequestHeader("User-Agent", userAgent);
        request.setDescription("다운로드 중...");
        request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimeType));
        request.allowScanningByMediaScanner();
        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
        request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, URLUtil.guessFileName(url, contentDisposition, mimeType));
        DownloadManager dm = (DownloadManager) context.getSystemService(DOWNLOAD_SERVICE);
        dm.enqueue(request);
        Toast.makeText(context, "다운로드가 시작되었습니다.", Toast.LENGTH_LONG).show();
    }
}

 

이런식으로 넣어서 다운로드가 가능하게 해놓았습니다.

정상적으로 잘 동작하긴 하는데 파일 자체를 링크 건게 아니라 .jsp?file=파일이름 이런식으로 호출하는 코드들에 대해서는 jsp파일을 다운로드 하게 되더군요.

제가 다운로드 받으려는 파일들은 하기와 같이 구성이 되어 있는데,
http://kyodong.es.kr/common/FileDownload.jsp?fid=c458d16ba766460ea888125347c4caef&type=application/octet-stream;2018_자녀사랑하기 4호(학교에서 문제행동이 발각된 자녀).hwp

이런 방식일때는 어떤 옵션을 줘서 정상적으로 다운 받게 할 수 있는지 궁금합니다. 고견 부탁드립니다 :)
Edwin (250 포인트) 님이 2018년 6월 12일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...