@antelopejs/interface-file-storage

中文文档
0.1.7发布于 2026/11/04Apache-2.0TypeScriptCommonJS零依赖构建来源已验证近 30 天下载 1.5万

预签名上传并读取 URL、 中转和元数据的文件存储的羚羊JS 接口

中文使用文档
文档目录8 节
  1. 它提供的东西
  2. 执行情况
  3. 安装
  4. 快开始
  5. 文档
  6. 兼容性
  7. 捐款
  8. 许可证

@antelopejs/interface-file-storage

npm License Discord Docs

藏羚羊JS文件存储合同. 客户端直接用预先签名的URL上传并下载文件,而您的模块在URL上签名并管理被存储的对象.

它提供的东西

  • CreateUploadUrl 直接上传并对照您的限制检查其大小和 MIME 类型.
  • CreateReadUrl 返回一个公共文件的永久 URL,一个私人文件的过期 URL.
  • WriteFile 存储服务器已经持有的字节,没有预先签名的 URL .
  • ReadFile 将文件的字节流到服务器本身,可能无法到达存储器的公共地址.
  • FileExists, (中文(简体) ), GetFileMetadata, (中文(简体) ), MoveFile 财务报告和审定财务报表 DeleteFile 管理存储对象.
  • 分阶段上传在中转前缀下直到 PromoteFile 证实它们,所以废弃的上传可以过期.
  • 每个存储操作上的可选存储名选择了多桶中的一个.
  • 关键助手 在不访问存储的情况下检查或转换中转密钥.

执行情况

模块页:1
@antelopejs/file-storage-s3S3相容对象存储( AWS S3, Cloudflare R2)
@antelopejs/file-storage-local本地文件系统,用于开发和单项部署

安装

将界面添加到处理文件的模块中 :

pnpm add @antelopejs/interface-file-storage

然后在项目中添加一个执行:

ajs project modules add @antelopejs/file-storage-s3

快开始

import {
  CreateReadUrl,
  CreateUploadUrl,
} from "@antelopejs/interface-file-storage";

const MAX_AVATAR_BYTES = 2 * 1024 * 1024;

export async function prepareAvatarUpload(size: number) {
  const { uploadUrl, headers, resourceKey } = await CreateUploadUrl(
    { filename: "avatar.png", size, mimetype: "image/png", path: "avatars" },
    { maxSize: MAX_AVATAR_BYTES, allowedMimetypes: ["image/png"] },
  );
  return { uploadUrl, headers, resourceKey };
}

export async function avatarUrl(resourceKey: string) {
  const { url } = await CreateReadUrl(resourceKey, 3600);
  return url;
}

客户端发送文件 PUT 改为 uploadUrl,包括: headers保留 resourceKey 以读取、移动或删除文件.

文档

兼容性

软件包支助测试过
@antelopejs/interface-core>=0.2.4 <1.0.00.2.4

表格列出来自 package.json。 。 。 . @antelopejs/core 是一种发展依赖,而不是同伴。 检查执行模块的要求.

捐款

读取 捐款额 在你打开拉动请求之前。 当地检查为:

pnpm install
pnpm lint
pnpm test

许可证

阿帕奇 - 2.0

版本与发布记录

@antelopejs/interface-file-storage 共发布 10 个版本,首次发布于 2026/03/23;过去 12 个月发布了 10 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.7latest2026/11/041 天前
0.1.62026/10/2413 天前
0.1.52026/10/2314 天前
0.1.42026/10/1720 天前
0.1.32026/09/151 个月前
0.1.22026/07/213 个月前

关于 @antelopejs/interface-file-storage 的常见问题

@antelopejs/interface-file-storage 是什么?

预签名上传并读取 URL、 中转和元数据的文件存储的羚羊JS 接口

如何安装 @antelopejs/interface-file-storage?

在项目目录运行 npm install @antelopejs/interface-file-storage,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@antelopejs/interface-core(>=0.2.4 <1.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@antelopejs/interface-file-storage 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@antelopejs/interface-file-storage 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@antelopejs/interface-file-storage 可以商用吗?

@antelopejs/interface-file-storage 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@antelopejs/interface-file-storage 的下载量有多少?

根据 npm 官方下载统计,@antelopejs/interface-file-storage 在 2026/10/06 – 2026/11/04 这 30 天内被下载 15,439 次,日均约 515 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@antelopejs/interface-file-storage 还在维护吗?

最新版本 0.1.7 发布于 2026/11/04(1 天前);至今共发布 10 个版本,其中过去 12 个月发布了 10 个;首次发布于 2026/03/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。