ورود

View Full Version : مشکل - ذخیره ی فایل دانلود شده در یک آدرس خاص- setDestinationUri



M.ehrAN
چهارشنبه 05 شهریور 1393, 20:59 عصر
سلام علیکم جمیعاً.
میخوام یه فایلی رو تو یه آدرس به خصوص ذخیره کنم ولی نمیدونم چه طور.
وقتی که از
request.setDestinationInExternalPublicDir(Environm ent.DIRECTORY_DOWNLOADS, "/")
استفاده میکنم فایلم تو پوشه downloads ذخیره میشه ولی میخوام یه جای دیگه دخیره بشه.
اما برای ذخیره در sdcard (چه primary و چه secondary) استفاده از دستور
request.setDestinationUri(uri)
باعث میشه برنامه stopped بشه. کدهایی که برای uri استفاده کردم به صورت زیره:
حالت 1:
Uri file_dest = Uri.fromFile(new File("sdcard/f1.zip"));
request.setDestinationUri(file_dest);

ارور:

08-27 17:58:58.351: D/AndroidRuntime(7008): Shutting down VM
08-27 17:58:58.361: W/dalvikvm(7008): threadid=1: thread exiting with uncaught exception (group=0x41748c80)
08-27 17:58:58.361: E/AndroidRuntime(7008): FATAL EXCEPTION: main
08-27 17:58:58.361: E/AndroidRuntime(7008): Process: m.a.downloadprovider, PID: 7008
08-27 17:58:58.361: E/AndroidRuntime(7008): java.lang.SecurityException: Destination must be on external storage: file:///sdcard/f1.zip
08-27 17:58:58.361: E/AndroidRuntime(7008): at m.a.providers.downloads.DownloadProvider.checkFile UriDestination(DownloadProvider.java:579)




حالت 2:
String file_dest = Environment.getExternalStorageDirectory().getPath( )+"/f1.zip";
request.setDestinationUri(Uri.parse(file_dest));
ارور:
08-27 18:26:04.097: D/AndroidRuntime(7820): Shutting down VM
08-27 18:26:04.097: W/dalvikvm(7820): threadid=1: thread exiting with uncaught exception (group=0x41748c80)
08-27 18:26:04.107: E/AndroidRuntime(7820): FATAL EXCEPTION: main
08-27 18:26:04.107: E/AndroidRuntime(7820): Process: m.a.downloadprovider, PID: 7820
08-27 18:26:04.107: E/AndroidRuntime(7820): java.lang.IllegalArgumentException: Not a file URI: /storage/sdcard0/f1.zip
08-27 18:26:04.107: E/AndroidRuntime(7820): at m.a.providers.downloads.DownloadProvider.checkFile UriDestination(DownloadProvider.java:570)


ضمناً اجازه زیر رو هم در manifest اضافه کرده ام:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

لطف کنید به زبان ساده (من آماتورم) بفرمایید که مشکل از کجا نشئت میگیره.

M.ehrAN
پنج شنبه 06 شهریور 1393, 16:54 عصر
شما دوستان ارجمند چگونه فایل هاتون رو در یک آدرس خاص دانلود میکنید:گریه:؟
ممنون.