阅读(4180) (8)

百度智能小程序 获取本地文件的文件信息

2020-08-13 16:15:44 更新

swan.getSavedFileInfo

解释:获取本地文件的文件信息。此接口只能用于获取已保存到本地的文件,若需要获取临时文件信息,请使用 getFileInfo 接口。

Web 态说明: 受浏览器限制,Web 态不支持文件系统相关功能,调用该方法会执行失败回调函数。

方法参数

Object object

object参数说明

属性名类型必填默认值说明

filePath

String

文件路径

success

Function

接口调用成功的回调函数,返回结果见 success 返回参数说明。

fail

Function

接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数名类型说明

size

Number

文件大小,单位 B

createTime

Number

文件保存时的时间戳,从 1970/01/01 08:00:00 到该时刻的秒数。

示例 

在开发者工具中打开



图片示例

代码示例

<view class="wrap">
    <view class="card-area">
        <view class="display-area">
            <image class="display-area-image" src="https://b.bdstatic.com/searchbox/icms/searchbox/img/file-pdf.png" rel="external nofollow"  mode="widthFix"></image>
            <view class="title">示例文件.pdf</view>
        </view>
        <button type="primary"  bindtap="saveFile">保存文件</button>
        <button type="primary"  bindtap="getSavedFileInfo">获取本地文件的文件信息</button>
    </view>
</view>
Page({
    data: {
        filePath: ''
    },
    saveFile() {
        this.toast('正在保存', 'loading');
        swan.downloadFile({
            url: 'https://example.com/file/xxx', // 仅为示例,并非真实的接口地址
            success: res => {
                swan.saveFile({
                    tempFilePath: res.tempFilePath,
                    success: res => {
                        this.toast('保存成功', 'none');
                        this.data.filePath = res.savedFilePath;
                    },
                    fail: err => {
                        this.toast('保存失败,请稍后重试', 'none');
                    }
                });
            },
            fail: err => {
                this.toast('下载失败,请稍后重试', 'none');
            }
        });
    },
    getSavedFileInfo() {
        swan.getSavedFileList({
            success: res => {
                if (res.fileList.length > 0) {
                    const filePath = res.fileList[0].filePath;
                    swan.getSavedFileInfo({
                        filePath,
                        success: res => {
                            swan.showModal({
                                title: 'success',
                                content: JSON.stringify(res)
                            });
                            console.log('getSavedFileList success', res);
                        },
                        fail: err => {
                            swan.showToast({
                                title: 'fail',
                                icon: 'none'
                            });
                            console.log('getSavedFileList fail', err);
                        }
                    });
                }
            }
        });
    },
    toast(title, icon) {
        swan.showToast({title, icon});
    }
});

错误码

Android

错误码说明

202

解析失败,请检查参数是否正确

1001

执行失败

2001

文件不存在

2003

IO 异常

iOS

错误码说明

202

解析失败,请检查参数是否正确

2001

文件不存在