السلام عليكم اقوم بتصدير قاعدة البيانات من خلال مكتبة react-native-document-picker
الشكلة عند قرائة المسار اذا اختار المستخدم ملف عربى يقوم بحفظ فيه يظهر فى المسار بشكل غير مفهومم
كيف يمكننى اصلاح هذا
const uri ='content://com.android.externalstorage.documents/tree/primary%3ADocuments';
التعليق السابق
يجب ان تضمن ان الصلاحيات كلها موجودة من أجل الحفظ في المسار المطلوب حرب ان تضيف هذه الصلاحيات في ملف AndroidManifest.xml الموجود في العادة في المسار android/app/src/main/
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.appName">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
...
android:requestLegacyExternalStorage="true"
...
>
</application>
</manifest>
و ايضا داخل ميثود اللي تسوي حفظ للملف حاول تضيف هذا الكود الذي يسمح بالتأكد اذا كان هناك صلاحيات للحفظ او لا
try {
const granted = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
]);
} catch (err) {
console.warn(err);
}
const readGranted = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE);
const writeGranted = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE);
if(!readGranted || !writeGranted) {
console.log('Read and write permissions have not been granted');
return;
}
التعليقات