我正在尝试使用 expo FileSystem api 读取此记录文件的内容。
这是代码:
Expo.FileSystem.readAsStringAsync((Platform.OS==='android'?'file://':'')+sound.status.uri).then(str => {
console.log(str)
})
Run Code Online (Sandbox Code Playgroud)
我收到此错误,当我尝试使用任何 FileSystem 方法移动它时,它会引发相同的错误。
我在从文档选择器读取 pdf 时遇到了类似的问题。
花费大量时间尝试寻找解决方案。没有任何效果。我什至构建了应用程序,但没有任何改变。
因此,我没有使用文件系统,而是使用文件读取器:
const convertToBase64 = async (uri) => {
try {
const response = await fetch(uri);
const blob = await response.blob();
const reader = new FileReader();
reader.onloadend = () => {
setBase64Data(reader.result);
};
reader.readAsDataURL(blob);
} catch (error) {
console.error("Error converting to base64:", error);
Alert.alert("Error converting to base64");
}
};Run Code Online (Sandbox Code Playgroud)
这非常适合阅读 PDF,并且也适用于所有其他文件类型;但是,请记住,如果您的文件太大 (> 3MB),则 base64 可能太大,导致您的应用程序崩溃。
您可能还需要将 Whatwg-fetch 降级到 3.6。
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |