React-Native开发:react-native-file-selector选择文件组件的使用(安卓)
2018-04-04 17:38
816 查看
为了上传文件,搜索了很多资料终于找到选择本地文件并获取到具体路径的组件,可以在github上查找到该组件
以下为该组件使用前的引入工作:
1、
2、
3、/app/build.gradle:
增加
4、MainApplication.java:
5、增加文件android/app/src/main/res/values/colors.xml:
6、android/build.gradle:
在allprojects的repositories中增加
在该文件末尾增加(这里根据情况决定是否添加,我是在后来运行项目报错时根据google搜索到的方案添加的):
7、settings.gradle:
8、使用方法:
9、关于上传文件或图片到服务端,其实就是利用官方给的fetch方法,注意点是参数必须使用formData的形式,其中的文件对应的数据是这样的{ uri: filePath, type: ‘multipart/form-data’, name: fileName },其中的filePath是8中的文件路径。
ps:后期有需要再补充相关的get与post封装(不过网上已经有很多了,可以自行百度或google)
10、上面的相关步骤(1-7)修改后可以尝试看看能不能运行成功,不行的话就将项目中的node_modules移除并重新安装依赖,尝试在Android Studio rebuild一下,再重新运行试试,多试几次就可以成功了。
以下为该组件使用前的引入工作:
1、
npm install react-native-file-selector --save
2、
react-native link react-native-file-selector
3、/app/build.gradle:
增加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
4、MainApplication.java:
import ui.fileselector.RNFileSelectorPackage; // 增加这句
... protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new RNFileSelectorPackage(), // 增加这句 new PickerPackage() ); } ...
5、增加文件android/app/src/main/res/values/colors.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> </resources>
6、android/build.gradle:
在allprojects的repositories中增加
maven { url "http://dl.bintray.com/lukaville/maven" }
在该文件末尾增加(这里根据情况决定是否添加,我是在后来运行项目报错时根据google搜索到的方案添加的):
subprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 25 buildToolsVersion '25.0.0' } } } }
7、settings.gradle:
include ':react-native-file-selector' project(':react-native-file-selector').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-file-selector/android')
8、使用方法:
import RNFileSelector from 'react-native-file-selector'; RNFileSelector.Show( { title: '请选择文件', onDone: (path) => { _uploadFile('file://' + path) // 根据官方给的fetch方法封装的上传方法 }, onCancel: () => { console.log('cancelled') } } )
9、关于上传文件或图片到服务端,其实就是利用官方给的fetch方法,注意点是参数必须使用formData的形式,其中的文件对应的数据是这样的{ uri: filePath, type: ‘multipart/form-data’, name: fileName },其中的filePath是8中的文件路径。
ps:后期有需要再补充相关的get与post封装(不过网上已经有很多了,可以自行百度或google)
10、上面的相关步骤(1-7)修改后可以尝试看看能不能运行成功,不行的话就将项目中的node_modules移除并重新安装依赖,尝试在Android Studio rebuild一下,再重新运行试试,多试几次就可以成功了。
相关文章推荐
- React-native 文件选择器react-native-file-selector的使用
- React-Native开发:react-native-image-crop-picker图片上传组件的使用(安卓)
- React-Native视频组件react-native-video使用(安卓版)
- ReactNative开发之DrawerLayoutAndroid组件的使用
- 【React Native开发】 - Touchable类组件的使用
- 【React Native开发】 - WebView组件的使用
- React-Native开发总结-组件高级使用方案汇总
- 【React Native 安卓开发】----侧边栏的实现DrawerLayoutAndroid以及第三方框架react-native-side-menu的使用【第六篇】
- 如何使用 OpenFileDialog 组件 (选择文件组件)
- 【React Native开发】React Native控件之WebView组件详解以及实例使用(22)
- 【React Native开发】React Native控件之Switch开关与Picker选择器组件讲解以及使用(16)
- Facebook 开源安卓版 React Native,开发者可将相同代码用于网页和 iOS 应用开发
- windows phone 8.1开发:文件选择器FileOpenPicker
- MVC文件上传06-使用客户端jQuery-File-Upload插件和服务端Backload组件自定义控制器上传多个文件
- MVC文件上传07-使用客户端jQuery-File-Upload插件和服务端Backload组件裁剪上传图片
- iphone开发之表格组件UITableView的使用(六)通过加载plist文件展示汽车品牌并添加索引查找
- MVC文件上传09-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹,并在其中创建分类子文件夹
- iphone开发之表格组件UITableView的使用(三)通过加载plist文件字典转模型方式展示分组数据
- 使用selector来修改安卓自带组件的样式
- COM组件开发过程中的TLB文件说明与使用