保存文件

使用 saveFile 保存文件到本地。

以下示例展示了将选择的图片保存到本地:

  1. uni.chooseImage({
  2. count: 1,
  3. success: function (res) {
  4. var tempFilePaths = res.tempFilePaths;
  5. uni.saveFile({
  6. tempFilePath: tempFilePaths[0],
  7. success: function (res) {
  8. var savedFilePath = res.savedFilePath;
  9. }
  10. });
  11. }
  12. });

:::warning 注意
saveFile 会把临时文件移动,因此调用成功后传入的 tempFilePath 将不可用。 :::

获取保存的文件

使用 getSavedFileList 获取本地已保存的文件列表。

  1. uni.getSavedFileList({
  2. success: function (res) {
  3. console.log(res.fileList);
  4. }
  5. });

fileList 中的项目说明:

  • filePath: 文件的本地路径
  • createTime: 文件的保存时的时间戳,从1970/01/01 080000 到当前时间的秒数
  • size: 文件大小,单位:B

003.png

获取保存的文件信息

使用 getSavedFileInfo 获取本地文件的文件信息。此接口只能用于获取已保存到本地的文件。

  1. uni.getSavedFileList({
  2. success: function (res) {
  3. res.fileList.forEach(file => {
  4. uni.getSavedFileInfo({
  5. filePath: file.filePath,
  6. success: function (res) {
  7. console.log(res.size); // 文件大小,单位:B
  8. console.log(res.createTime); // 文件保存时的时间戳,从1970/01/01 080000 到该时刻的秒数
  9. }
  10. });
  11. })
  12. }
  13. });

删除本地保存的文件

使用 removeSavedFile 删除本地存储的文件。

以下示例展示删除本地保存的所有文件:

  1. uni.getSavedFileList({
  2. success: function (res) {
  3. if (res.fileList.length > 0) {
  4. res.fileList.forEach(file => {
  5. uni.removeSavedFile({
  6. filePath: file.filePath, // 要删除的文件路径
  7. complete: function (res) {
  8. console.log(res); // "removeSavedFile:ok"
  9. }
  10. });
  11. })
  12. }
  13. }
  14. });

打开文档

使用 openDocument 打开文档。

以下示例展示从服务器下载一个文件后打开:

  1. uni.downloadFile({
  2. url: 'https://example.com/somefile.pdf',
  3. success: function (res) {
  4. var filePath = res.tempFilePath;
  5. uni.openDocument({
  6. filePath: filePath,
  7. fileType: 'pdf',
  8. success: function (res) {
  9. console.log('打开文档成功');
  10. }
  11. });
  12. }
  13. });

参数有:

  • filePath: 文件路径,可通过 downFile 获得
  • fileType: 文件类型,指定文件类型打开文件,选填,默认为文件扩展名,有效值 doc, xls, ppt, pdf, docx, xlsx, pptx

参考资料