如何让网站用户将视频从前端上传到我的 Vimeo 帐户?

问题描述 投票:0回答:1

我正在使用 Vercel 上托管的 Next.js v13,我希望允许用户直接从前端上传视频到 Vimeo 服务器。我了解如何将视频上传到他们的帐户,但我需要将它们上传到我的帐户。问题是我不能只向客户端公开我的个人访问令牌。 (我宁愿不这样做,即使它只有一个上传范围)

目前,我看到的唯一选择是将视频上传到临时存储解决方案(例如 AWS S3),然后从那里上传到 Vimeo。

我尝试将视频作为 formData 上传到我的后端,然后从那里上传到 Vimeo,这可行,但仅限于小视频,因为无服务器功能可以承受的量是有限的。

reactjs next.js vercel vimeo vimeo-api
1个回答
0
投票

要从应用程序的前端将视频直接上传到 Vimeo 服务器上的集中帐户,您可以使用此处描述的可恢复上传方法:https://developer.vimeo.com/api/upload/videos#resumable-approach

做法是:

  1. 创建API端点以初始化后端上传。 (也称为上面链接中的“步骤 1”)这是唯一需要授权的步骤,因此您将在此处使用应用程序的访问令牌。在此步骤中,您需要发送到 VimeoAPI 的唯一视频相关数据是您要上传的视频的大小。
  2. 步骤 1 完成后,将从 VimeoAPI 响应中获得的
    upload.upload_link
    字段返回到前端作为 API 端点的响应。
  3. 现在您有一个链接,您可以直接从前端上传视频,而无需暴露您的访问令牌。

从这里你可以做任何你想做的事情,推出你自己的tus上传实现(类似于上面的链接描述的),或者使用库tus实现,我推荐tus-js-client,这是我用来解决这个问题的问题。他们内置了对“Vimeo 风格”上传的支持,我觉得非常好。

© www.soinside.com 2019 - 2024. All rights reserved.