Skip to content

文件功能

获取上传凭证

php
\FresnsCmdWord::plugin('Fresns')->getUploadToken($wordBody);
参数名类型是否必传说明
typeNumberYES1.图片 / 2.视频 / 3.音频 / 4.文档
nameStringYES本次上传的文件名
expireTimeNumberYES有效期,单位:秒
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": {
        "storageId": "存储服务商编号,见字典键值",
        "token": "上传 token",
        "expireTime": "有效期,单位:秒" //没有则输出 null
    }
}

上传文件

php
\FresnsCmdWord::plugin('Fresns')->uploadFile($wordBody);
参数名类型是否必传说明
platformIdNumberYES平台编号(配置表 platforms 键名的键值)
usageTypeNumberYES文件用途类型
tableNameStringYES来源表名(哪个张使用)
tableColumnStringYES来源字段名(哪个字段使用)
tableIdNumberNO来源表主键 ID
tableKeyStringNO来源表键名 PrimaryHelper::fresnsPrimaryId()
aidStringNO账号参数 file_usages->account_id
存储时由 aid 转换成 accounts->id
uidNumberNO用户参数 file_usages->user_id
存储时由 uid 转换成 users->id
typeNumberYES1.图片 / 2.视频 / 3.音频 / 4.文档
moreJsonStringNO自定义
fileFileYES文件
  • tableIdtableKey 二选一必传一个。
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": {
        // 通用数据结构->文件信息
    }
}
逻辑说明

上传文件信息

php
\FresnsCmdWord::plugin('Fresns')->uploadFileInfo($wordBody);
参数名类型是否必传说明
platformIdNumberYES平台编号(配置表 platforms 键名的键值)
usageTypeNumberYES文件用途类型
tableNameStringYES来源表名
tableColumnStringYES来源字段名
tableIdNumberNO来源表主键 ID
tableKeyStringNO来源表键名 PrimaryHelper::fresnsPrimaryId()
aidStringNO账号参数 file_usages->account_id
存储时由 aid 转换成 accounts->id
uidNumberNO用户参数 file_usages->user_id
存储时由 uid 转换成 users->id
typeNumberYES1.图片 / 2.视频 / 3.音频 / 4.文档
fileInfoArrayYES文件信息数组
  • tableIdtableKey 二选一必传一个。
fileInfo 数组示例
json
[
    {
        "name": "存储到 files->name",
        "mime": "存储到 files->mime",
        "extension": "存储到 files->extension",
        "size": "存储到 files->size", // 单位 Byte
        "md5": "存储到 files->md5",
        "sha": "存储到 files->sha",
        "shaType": "存储到 files->sha_type",
        "path": "存储到 files->path",
        "imageWidth": "图片专用,存储到 files->image_width",
        "imageHeight": "图片专用,存储到 files->image_height",
        "videoTime": "视频专用,存储到 files->video_time",
        "videoPosterPath": "视频专用,存储到 files->video_poster_path",
        "audioTime": "音频专用,存储到 files->audio_time",
        "transcodingState": "音视频专用,存储到 files->transcoding_state",
        "moreJson": {
            // 扩展信息,存储到 files->more_json
        },
        "originalPath": "存储到 files->original_path",
        "rating": "存储到 file_usages->rating",
    }
]
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": [
        {
            // 通用数据结构->文件信息
        },
        {
            // 通用数据结构->文件信息
        }
    ]
}
逻辑说明

获取防盗链文件信息[单个]

php
\FresnsCmdWord::plugin('Fresns')->getAntiLinkFileInfo($wordBody);
参数名类型是否必传说明
typeNumberYES1.图片 / 2.视频 / 3.音频 / 4.文档
fileIdOrFidStringNOfiles->id 或者 files->fid
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": {
        // 通用数据结构->文件信息
    }
}
逻辑说明
  • 如果未开启防盗链,可使用模型中封装功能输出信息。
  • $file->getFileInfo();

获取防盗链文件信息[多个]

php
\FresnsCmdWord::plugin('Fresns')->getAntiLinkFileInfoList($wordBody);
参数名类型是否必传说明
typeNumberYES1.图片 / 2.视频 / 3.音频 / 4.文档
fileIdsOrFidsArrayNOfiles->id 或者 files->fid
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": [
        {
            // 通用数据结构->文件信息
        },
        {
            // 通用数据结构->文件信息
        }
    ]
}
逻辑说明
  • 如果未开启防盗链,可请求封装功能输出信息。
  • FileHelper::fresnsFileInfoListByIds('fileIdsOrFids');

获取源文件防盗链链接

php
\FresnsCmdWord::plugin('Fresns')->getAntiLinkFileOriginalUrl($wordBody);
参数名类型是否必传说明
typeNumberYES1.图片 / 2.视频 / 3.音频 / 4.文档
fileIdOrFidStringNOfiles->id 或者 files->fid
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": {
        "originalUrl": "由 file->original_path 字段拼接",
        // original_path 为空时,由 files->path 字段拼接替补
    }
}
逻辑说明
  • 如果未开启防盗链,可请求模型中封装功能输出信息。
  • $file->getFileOriginalUrl();

逻辑删除文件

php
\FresnsCmdWord::plugin('Fresns')->logicalDeletionFiles($wordBody);
参数名类型是否必传说明
fileIdsOrFidsArrayYESfiles->id 或者 files->fid

物理删除文件

php
\FresnsCmdWord::plugin('Fresns')->physicalDeletionFiles($wordBody);
参数名类型是否必传说明
typeNumberYES1.图片 / 2.视频 / 3.音频 / 4.文档
fileIdsOrFidsArrayYESfiles->id 或者 files->fid
  • fileIdsfids 数组值文件类型必须属于同一个 type 类型的文件。

Released under the Apache-2.0 License