1 回答
TA贡献1815条经验 获得超6个赞
如果您已经正常下载文件到路径中,并且可以直接在手机上看到下载的文件,则可以使用文件选择器。
npm i --save react-native-document-pickerreact-native link react-native-document-picker
例子
import DocumentPicker from 'react-native-document-picker';
// Pick a single file
try {
const res = await DocumentPicker.pick({
type: [DocumentPicker.types.images],
});
console.log(
res.uri,
res.type, // mime type
res.name,
res.size
);
} catch (err) {
if (DocumentPicker.isCancel(err)) {
// User cancelled the picker, exit any dialogs or menus and move on
} else {
throw err;
}
}
// Pick multiple files
try {
const results = await DocumentPicker.pickMultiple({
type: [DocumentPicker.types.images],
});
for (const res of results) {
console.log(
res.uri,
res.type, // mime type
res.name,
res.size
);
}
} catch (err) {
if (DocumentPicker.isCancel(err)) {
// User cancelled the picker, exit any dialogs or menus and move on
} else {
throw err;
}
}
如果您需要共享,请创建一个 url 以下载文件。
例子
import {Share } from 'react-native';
class ShareExample extends Component {
onShare = async () => {
try {
const result = await Share.share({
message: 'csv file download',
url: "file:///storage/emulated/0/yourFileName/downfile.csv",
});
if (result.action === Share.sharedAction) {
if (result.activityType) {
// shared with activity type of result.activityType
} else {
// shared
}
} else if (result.action === Share.dismissedAction) {
// dismissed
}
} catch (error) {
alert(error.message);
}
};
render() {
return <Button onPress={this.onShare} title="Share" />;
}
}
添加回答
举报
