项目
版本

Uppy 选择你需要的上传器

Uppy 的核心是灵活可靠的上传功能。它有许多可配置的插件以满足你的需求。在这个指南中,我们将解释不同的插件、它们的策略以及根据用例何时使用它们。

用例

我想要无忧无虑、即插即用的 Transloadit 服务上传

Transloadit 的优势在于其多功能性。通过处理视频、音频、图片、文档等,你只需要一个供应商来满足 所有文件处理需求@uppy/transloadit 插件直接上传到 Transloadit,所以你只需关注创建一个 模板 。它在底层使用 Tus,因此你可以不必为了方便而牺牲可靠、可恢复的上传功能。

如果你不想自己托管服务器,(可选地)需要文件处理,并将其存储在你喜欢的服务(如 S3 或 GCS)上,你应该使用 @uppy/transloadit。这一切只需最小的努力。

我想要可靠、可恢复的上传

Tus 是一个基于 HTTP 的新的开放协议,用于可恢复的上传。这意味着意外关闭标签页或失去连接后,你可以继续上传,例如,10GB 的文件,而不是重新开始。

Tus 支持任何语言、任何平台和任何网络。它需要客户端和服务器集成才能工作。你可以查看客户端和服务器 实现 ,找到你首选语言的服务器。你可以将文件存储在 Tus 服务器本身,也可以使用服务集成(如 S3)将文件存储在外部。

如果你想要可靠、可恢复的上传,可以使用 @uppy/tus 在几行代码中连接到你的 Tus 服务器。

如果你计划让人们上传大量文件,@uppy/tus 内置了指数退避机制。这意味着,如果服务器(或代理)返回 HTTP 429,因为它被过度加载,@uppy/tus 将找到理想的最佳点,保持上传而不超载服务器。

我想直接上传到 AWS S3(或 S3 兼容的存储)

当你偏好客户端到存储的设置,而不是客户端到服务器再到存储的设置(如 TransloaditTus )。在某些情况下,这可能是更可取的,例如,减少成本或运行带有 Tus 的服务器和负载均衡器的复杂性。

Uppy 有两个插件可以实现这一点:@uppy/aws-s3@uppy/aws-s3-multipart,但我们计划在下一个主要版本中合并这两个插件。你应该使用具有新 shouldUseMultipart 选项的 @uppy/aws-s3

你也可以使用 Transloadit 的 /s3/store 机器人 在使用 Transloadit 服务的同时将文件保存在 S3 中。

我想向自己的服务器发送常规 HTTP 上传

@uppy/xhr-upload 处理经典的 HTML 多部分表单上传以及使用 HTTP PUT 方法的上传。

在本文档中