uniapp 文档管理
文档管理概述
在UniApp中,文档管理通常涉及文件的创建、读取、上传、下载和删除等操作。UniApp提供了多种API和插件支持,适用于H5、小程序、App等多端场景。
文件系统API
UniApp内置了文件系统相关的API,可直接调用实现基础文档管理功能:
文件下载
使用uni.downloadFile下载文件到本地临时路径:
uni.downloadFile({
url: 'https://example.com/file.pdf',
success: (res) => {
console.log('文件临时路径:', res.tempFilePath);
}
});
文件上传
通过uni.uploadFile将本地文件上传至服务器:
uni.chooseImage({
success: (res) => {
uni.uploadFile({
url: 'https://example.com/upload',
filePath: res.tempFilePaths[0],
name: 'file',
success: (uploadRes) => {
console.log('上传成功:', uploadRes.data);
}
});
}
});
本地文件操作
保存文件到本地
使用uni.saveFile将临时文件保存为本地持久文件(仅小程序和App端支持):
uni.saveFile({
tempFilePath: '临时文件路径',
success: (res) => {
console.log('文件保存路径:', res.savedFilePath);
}
});
删除本地文件
通过uni.removeSavedFile删除已保存的文件:
uni.removeSavedFile({
filePath: '本地文件路径',
success: () => {
console.log('文件删除成功');
}
});
文件选择与预览
选择文件
调用uni.chooseFile从设备中选择文件(H5和App端支持):
uni.chooseFile({
count: 1,
success: (res) => {
console.log('文件路径:', res.tempFiles[0].path);
}
});
文件预览
使用uni.openDocument打开文档(支持PDF、Word等格式):
uni.downloadFile({
url: 'https://example.com/doc.pdf',
success: (res) => {
uni.openDocument({
filePath: res.tempFilePath,
fileType: 'pdf'
});
}
});
注意事项
- 权限问题:App端需配置文件读写权限,Android需动态申请
WRITE_EXTERNAL_STORAGE权限。 - 路径差异:临时路径(
tempFilePath)和本地路径(savedFilePath)需区分处理。 - 跨端兼容:部分API仅限特定平台使用,需通过条件编译处理(如
#ifdef H5)。
插件扩展
如需更复杂的文档管理(如文件夹操作),可集成第三方插件如:
- cordova-plugin-file(App端)
- wx-server-sdk(小程序云开发)
通过上述方法和API,可实现UniApp中跨平台的文档管理功能。







