uni-app 实现 ios保存文件到“文件”(ios的app)中的指定文件夹里面

uni-app 实现 ios保存文件到“文件”(ios的app)中的指定文件夹里面

11 回复

如果只是在手机的“文件”中,查看你App中的文件,只需要在打包的时候配置Supports opening documents in place、Application supports iTunes file sharing 这两个参数为true即可,不需要用插件来实现.

更多关于uni-app 实现 ios保存文件到“文件”(ios的app)中的指定文件夹里面的实战教程也可以访问 https://www.itying.com/category-93-b0.html


是保存文件到“文件”里面,uniapp只能存到沙盒中

回复 5***@qq.com: 看下这个插件 https://ext.dcloud.net.cn/plugin?id=18357

可以做,联系QQ:1804945430

你好,请问这个问题解决了吗,我也是想把生成的一个json文件保存在文件中,以便后续的从文件中选择去读取参数,但是使用plus.io只能保存在/var/mobile/Containers/Data/Application/1062125A-3C9A-409F-940F02DC98141C7A/Documents/Pandora/documents/value.json这种路径

回复 1***@163.com: 可以!完美符合需求!谢谢回复

回复 2***@qq.com: 不客气,能满足需要就好,给个好评吧! 如果需要定制更多功能请联系我

可以做,联系WX:18968864472

在uni-app中,你可以使用 plus.io 模块来实现文件的保存操作。对于iOS平台,plus.io 提供了丰富的文件系统接口,允许你将文件保存到指定的文件夹中。以下是一个具体的代码示例,演示如何在iOS应用中将文件保存到“文件”应用的指定文件夹里。

首先,需要确保你已经在 manifest.json 中配置了iOS平台的相关权限。通常,文件操作不需要特别的权限配置,但如果有特殊需求,请根据实际情况调整。

接下来是代码示例:

// 引入必要的模块
const fs = plus.io.File;
const resolveLocalFileSystemURL = plus.io.resolveLocalFileSystemURL;

// 指定目标文件夹路径(这里以Documents目录为例)
const targetDir = '_documents/'; // Documents目录在iOS上是可访问的
const fileName = 'example.txt'; // 要保存的文件名
const fileContent = 'Hello, this is a test file.'; // 要保存的文件内容

// 创建目标文件夹(如果需要)并保存文件
function saveFileToiOS() {
    resolveLocalFileSystemURL(targetDir, entry => {
        // 文件夹已存在,创建文件
        entry.getFile(fileName, { create: true, exclusive: false }, fileEntry => {
            // 创建FileWriter对象
            fileEntry.createWriter(writer => {
                // 写入内容
                writer.write(fileContent);
                writer.onwrite = () => {
                    console.log('File saved successfully to:', fileEntry.toLocalURL());
                };
                writer.onerror = err => {
                    console.error('Error writing file:', err);
                };
            }, err => {
                console.error('Error creating file:', err);
            });
        }, err => {
            // 如果文件夹不存在,则创建文件夹
            if (err.code === 1) { // CODE_ERR_NOT_FOUND
                resolveLocalFileSystemURL('_documents', dirEntry => {
                    dirEntry.getDirectory(targetDir.substring(1), { create: true }, newDirEntry => {
                        newDirEntry.getFile(fileName, { create: true, exclusive: false }, fileEntry => {
                            // 创建FileWriter对象并写入内容(同上)
                            fileEntry.createWriter(writer => {
                                writer.write(fileContent);
                                writer.onwrite = () => {
                                    console.log('File saved successfully to:', fileEntry.toLocalURL());
                                };
                                writer.onerror = err => {
                                    console.error('Error writing file:', err);
                                };
                            }, err => {
                                console.error('Error creating file:', err);
                            });
                        }, err => {
                            console.error('Error creating directory or file:', err);
                        });
                    }, err => {
                        console.error('Error resolving directory:', err);
                    });
                } else {
                    console.error('Error resolving target directory:', err);
                }
            });
        });
}

// 调用函数保存文件
saveFileToiOS();

请注意,上述代码示例中,我们尝试解析目标文件夹路径,并在必要时创建它。然后,我们在该文件夹中创建文件并写入内容。plus.io 的API设计允许你处理各种文件系统操作,包括读取、写入、复制和删除文件及目录。

在实际应用中,你可能需要根据具体需求调整文件夹路径和文件名。此外,确保在真机环境下测试文件操作功能,因为模拟器可能无法完全模拟真实的文件系统环境。

回到顶部