Ok, I'm possibly a step closer to the solution: (thanks to this post: http://groups.google.com/group/android-developers/browse_thread/thread/d6f8b55cf7b5bc6 )
mWebView.setDownloadListener(new DownloadListener() { public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { Log.i("OF", "onDownloadStart(): " + " url = " + url ); Log.i("OF", " userAgent = " + userAgent ); Log.i("OF", " contentDisposition = " + contentDisposition ); Log.i("OF", " mimetype = " + mimetype ); Log.i("OF", " contentLength (KB) = " + (contentLength / 1024.0) ); } }); from this one I can retrieve an easier to parse "contentDisposition" (no cryptic symbols/encodings) now the question is: how do I move on to starting a custom download? I'll show a progress-bar and the file will be downloaded to apredefined folder. Is there any other higher level function available or shall I base the download code on HTTP Get? thanks -- Mathieu On Sep 30, 1:21 pm, bdk <mathieu.b...@gmail.com> wrote: > Hi > > I'm in the following situation: I'm using a WebView in an application > to allow the download of files stored in a phpBB forum. > I need to directly handle the downloads, saving the files to the > application folders with their original names. > > I'm bound to Android 2.2 Froyo, so no DownloadManager (if it even > helps:http://www.vogella.de/blog/2011/06/14/android-downloadmanager-example/ > ). > > So, the problem is that the download links for the files are like > this: > > http://mywebsite.com/download/file.php?id=123 > > These links get caught by shouldOverrideUrlLoading(), but I can't > handle the download in a custom way since there's no actual "file path > and name on the server". > > I tried to use an HttpURLConnection and checked the returned headers. > I located the file name in the "Content-disposition" header value, > which is something like: > > attachment; filename*=UTF-8''the%20file%20name%20on%20the%20server.aaa > > Seems like phpBB generates this HTML response header here: > https://github.com/phpbb/phpbb3/blob/develop/phpBB/download/file.php#... > which refers to: > https://github.com/phpbb/phpbb3/blob/develop/phpBB/includes/functions... > more > specificallyhttps://github.com/phpbb/phpbb3/blob/develop/phpBB/includes/functions... > > So, WebView alone does not seem able to handle this kind of "Content- > disposition" HTTP response header. > > It must be noted that these phpBB "file.php?id=123" links do work in > the BrowserActivity that comes with each Android OS, and the correct > file name pops up in the "save as..." dialog. > > ATM I'm digging in BrowserActivity.java present in Android's > sourcecode repository... > > I saw that I might be good to go by using the InputStream returned by > an HttpURLConnection, as in e.g.: > > http://getablogger.blogspot.com/2008/01/android-download-image-from-s... > http://www.helloandroid.com/tutorials/how-download-fileimage-url-your... > > In the case that this is the only solution a question remains: how do > I retrieve the original filename? > Parsing the "Content-disposition" header value? :S > > any hint is appreciated! > thanks > > -- > Mathieu -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en