如何在 react-native 中使用 expo-file-system 保存 .DOC 文件?

How to save .DOC file with expo-file-system in react-native?

我在使用 expo-file-system 保存 .DOC 文件时遇到问题。

我收到以下反馈:

[Unhandled promise rejection: Error: Invalid argument "localUri". It must be a string!]

这是我当前的代码:

useEffect(() => {
    const saveFile = async () => {
      const { granted } = await Notifications
        .requestPermissionsAsync()
        .then((response) => response)
        .catch((error) => error);

      console.log(granted);

      if (granted) {
        data.map(async (index) => {
          const date = new Date(index.synchronization)

          const formattedDate = date.toISOString().split('T')[0];

          const fileUri = `${FileSystem.documentDirectory}${formattedDate}.doc`;

          console.log(fileUri)

          await FileSystem.writeAsStringAsync(
            fileUri,
            "Hello World, i'am saving this file :)",
            {
              encoding: FileSystem.EncodingType.UTF8
            });

          const asset = await MediaLibrary.createAssetAsync(`${fileUri}`);
          await MediaLibrary.createAssetAsync(asset);
          console.log(asset);

        });
      }
    }
    saveFile();
  }, [data]);

错误可能发生在这一行:

const asset = await MediaLibrary.createAssetAsync(`${fileUri}`);
await MediaLibrary.createAssetAsync(asset);

好的,我做到了!

这些承诺真是无聊的恶作剧

const { uri } = await MediaLibrary
            .createAssetAsync(`${fileUri}`)
            .then((response) => response)
            .catch((error) => error);;
await MediaLibrary.createAssetAsync(uri);

必须使用 thencatch