Nola
  1. 文件
Nola
  • 后台 API
    • 配置
      • 初始化博客信息
      • 初始化管理员
      • 修改博客信息
      • 获取博客信息
      • 修改备案信息
      • 获取备案信息
    • 管理员
      • 管理员登录
      • 登录有效性
      • 获取管理员信息
      • 修改管理员信息
      • 修改管理员密码
    • 标签
      • 添加标签
      • 删除标签 - ID
      • 删除标签 - 别名
      • 修改标签
      • 获取标签 - ID
      • 获取标签
    • 分类
      • 添加分类
      • 删除分类 - ID
      • 删除分类 - 别名
      • 修改分类
      • 获取分类 - ID
      • 获取分类
    • 文章
      • 文章相关
        • 添加文章
        • 删除文章
        • 回收文章
        • 恢复文章
        • 修改文章
        • 修改状态
        • 获取文章 - ID
        • 获取文章 - 别名
        • 获取文章
        • 获取文章正文和草稿
      • 文章正文
        • 修改文章正文
        • 获取文章正文
      • 文章草稿
        • 添加文章草稿
        • 删除文章草稿
        • 修改文章草稿
        • 修改文章草稿名
        • 将草稿转为正文
        • 获取文章草稿
    • 友情链接
      • 添加友情链接
      • 删除友情链接
      • 修改友情链接
      • 获取友情链接
    • 菜单
      • 菜单
        • 添加菜单
        • 删除菜单
        • 修改菜单
        • 获取菜单
      • 菜单项
        • 添加菜单项
        • 删除菜单项
        • 修改菜单项
        • 获取菜单项
    • 日记
      • 添加日记
      • 删除日记
      • 修改日记
      • 获取日记
    • 文件
      • 存储策略
        • 所有存储策略
        • 设置腾讯云对象存储
        • 获取腾讯云对象存储
        • 删除腾讯云对象存储
      • 文件组
        • 添加文件组
        • 删除文件组
        • 修改文件组
        • 获取文件组
      • 文件
        • 添加文件 - 上传文件
          POST
        • 添加文件 - 添加记录
          POST
        • 删除文件 - ID
          DELETE
        • 删除文件 - 文件名
          DELETE
        • 移动文件
          PUT
        • 获取文件
          GET
    • 备份
      • 导入文章
      • 导出文章
    • 评论
      • 添加评论
      • 删除评论
      • 修改评论
      • 通过审核
      • 获取评论
    • 操作记录
      • 删除操作记录 - ID
      • 删除全部记录
      • 删除时间前的记录
      • 获取操作记录
    • 概览
      • 博客概览数据
  • 博客 API
    • 配置
      • 获取博客信息
      • 获取备案信息
    • 博主
      • 获取博主信息
    • 标签
      • 获取标签
    • 分类
      • 获取分类
    • 文章
      • 获取所有文章
      • 获取文章内容
      • 获取文章 - ID
      • 获取文章 - 别名
    • 友情链接
      • 获取友情链接
    • 菜单
      • 获取菜单项
    • 日记
      • 获取日记
    • 评论
      • 添加评论
      • 获取评论
  • 快捷 API
    • 获取博客 LOGO
    • 获取博客 Favicon
  1. 文件

添加文件 - 添加记录

开发中
POST
http://localhost:8098/admin/file/record

1. 接口说明#

此接口用于添加一条文件记录,不需要实际上传文件内容,但是需要确保已上传的文件内容和调用本接口提交的信息一致。
用于已经使用其他方式上传了文件,但是后台没有该文件记录的情况。

2. 使用场景:#

1.
已经使用对象存储的工具上传文件到了云端,但是需要将该文件记录添加到 Nola 后台。
2.
已经使用其他工具上传文件到了 Nola 的本地存储文件夹中,但是需要将该文件记录添加到 Nola 后台数据库。
3.
其他类似但适用的情况。

3. URL 拼接#

Nola 在数据库中不会记录每个文件的完整 URL,而是通过记录 文件名(含后缀)、存储策略、文件组 三个数据,然后通过一定规则进行拼接,从而在获取文件时可以得到完整的文件 URL 地址。
因此,在调用此接口时,需要确保数据准确,否则可能导致获取文件时,文件的完整 URL 拼接错误。

4. 拼接方式#

下面是本地和对象存储在获取文件时 Nola 拼接完整 URL 的逻辑。
尤其是对象存储的拼接方式需要注意,在使用本地 SDK 上传文件到对象存储时,也需要按照此格式进行文件上传,否则可能导致添加到 Nola 的文件记录拼接的 URL 为错误地址。
1.
本地存储:/upload/<文件组 Path (如果有)>/<文件名 (含后缀)>
2.
腾讯云对象存储: https://<bucket>.cos.<region>.myqcloud.com/<默认存储路径>/<文件组 Path (如果有)>/<文件名 (含后缀)>
其中 <bucket>、<region>、<默认存储路径> 为设置存储策略时传入,你可以使用接口 获取腾讯云对象存储 来获取。
<文件组 Path> 为上传文件时选择的要上传的文件组,文件组的 Path 可以通过接口 获取文件组 来获取。
<文件名> 为上传到对象存储时,文件在对象存储中实际的名称,在上传时需要注意文件名重复处理,因为当相同的 存储策略 & 文件组 中存在同名文件会导致此接口报错。

4.注意事项#

通过此接口添加的文件记录与使用接口 添加文件 - 上传文件 上传的文件,在删除文件、移动文件等涉及到文件变动的接口上没有区别,当然前提是此接口添加的文件数据与实际相符。

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Body 参数application/json
name
string 
文件名(含后缀)
必需
size
integer 
文件大小(字节 Bytes)
必需
storageMode
enum<string>  | enum<null> 
存储策略(为 null 默认本地存储 LOCAL)
可选
枚举值:
LOCALTENCENT_COS
fileGroupId
integer  | null 
文件组 ID(为 null 默认不进行分组,存储在根目录)
可选
示例
{
    "name": "string",
    "size": 0,
    "storageMode": "LOCAL",
    "fileGroupId": 0
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'http://localhost:8098/admin/file/record' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "string",
    "size": 0,
    "storageMode": "LOCAL",
    "fileGroupId": 0
}'

返回响应

🟢200成功
application/json
Body
code
integer 
必需
errMsg
null 
必需
data
object 
必需
fileId
integer 
文件 ID
必需
fileGroupId
integer  | null 
文件组 ID
必需
fileGroupName
string  | null 
文件组名
必需
displayName
string 
文件名
必需
url
string 
文件地址
必需
本地存储为相对地址,其他存储方式为绝对地址
size
integer 
文件大小
必需
storageMode
string 
文件存储策略
必需
createTime
integer 
文件上传时间戳
必需
示例
{
    "code": 200,
    "errMsg": null,
    "data": {
        "fileId": 1,
        "fileGroupId": null,
        "fileGroupName": null,
        "displayName": "123.png",
        "url": "/upload/123.png",
        "size": 3340027,
        "storageMode": "LOCAL",
        "createTime": 1711622518884
    }
}
修改于 2025-06-04 08:20:33
上一页
添加文件 - 上传文件
下一页
删除文件 - ID
Built with