java - Downloading Large file to certain directory from within app using DownloadManager -
i have application needs able download ~3gb file user specified location, have below code, seems work. i.e download takes place showing in download manager etc.
however once download complete fails appear in correct location, , space has not been taken @ all.
this current code:
public void file_download(string url) { install_txt = apppreferences.getprefs().getstring( "path", environment.getexternalstoragedirectory().getpath() + "/test.img"); downloadmanager mgr = (downloadmanager) this.getsystemservice(context.download_service); uri downloaduri = uri.parse(url); downloadmanager.request request = new downloadmanager.request( downloaduri); request.setallowednetworktypes(downloadmanager.request.network_wifi) .setallowedoverroaming(false).settitle("test") .setdescription("downloading test") .setdestinationinexternalpublicdir(environment.directory_downloads , install_txt); mgr.enqueue(request); }
so question why above not work well? or download manager struggles download such large files? if case there better method use download reliably such large file
after download finishes below shown in logcat
07-19 13:19:28.112: w/downloadmanager(19199): exception id 8952: invalid int: "3891000000" 07-19 13:19:28.112: w/downloadmanager(19199): java.lang.numberformatexception: invalid int: "3891000000" 07-19 13:19:28.112: w/downloadmanager(19199): @ java.lang.integer.invalidint(integer.java:138) 07-19 13:19:28.112: w/downloadmanager(19199): @ java.lang.integer.parse(integer.java:378) 07-19 13:19:28.112: w/downloadmanager(19199): @ java.lang.integer.parseint(integer.java:366) 07-19 13:19:28.112: w/downloadmanager(19199): @ java.lang.integer.parseint(integer.java:332) 07-19 13:19:28.112: w/downloadmanager(19199): @ com.android.providers.downloads.downloadthread.handleendofstream(downloadthread.java:516) 07-19 13:19:28.112: w/downloadmanager(19199): @ com.android.providers.downloads.downloadthread.transferdata(downloadthread.java:314) 07-19 13:19:28.112: w/downloadmanager(19199): @ com.android.providers.downloads.downloadthread.executedownload(downloadthread.java:278) 07-19 13:19:28.112: w/downloadmanager(19199): @ com.android.providers.downloads.downloadthread.runinternal(downloadthread.java:193) 07-19 13:19:28.112: w/downloadmanager(19199): @ com.android.providers.downloads.downloadthread.run(downloadthread.java:142)
that error message suggest downloadmanager
, @ present, limited files 2147483647 (integer.max_value
) bytes or smaller.
there has been a bug report filed already, no response google @ present.
in meantime, i'd see if arrange split ~3gb file 2 smaller files. if not, may need downloading yourself.
Comments
Post a Comment