1 gb"-6ren"> 1 gb"-我正在尝试集成 tus-server与 shrine将视频文件上传到 Vimeo。 Client.js this.uppy = new Uppy({ id: 'uppy1', autoProc-6ren">
gpt4 book ai didi

javascript - Tus服务器与神社集成 "Dealing with large uploads filesize > 1 gb"

转载 作者:行者123 更新时间:2023-12-03 00:41:30 32 4
gpt4 key购买 nike

我正在尝试集成 tus-servershrine将视频文件上传到 Vimeo。

Client.js

this.uppy = new Uppy({
id: 'uppy1',
autoProceed: false,
debug: true,
restrictions: {
allowedFileTypes: ['.mp4'],
},
allowMultipleUploads: true,
})
.use(Tus, { endpoint: `${API_BASE}/files` })
/* .use(XHRUpload, { endpoint: `${API_BASE}/files`,
formData: true,
bundle: false,
fieldName: 'file',
headers: getHeaders(), */
})
.use(GoogleDrive, { serverUrl: 'https://companion.uppy.io' })
.use(Dropbox, { serverUrl: 'https://companion.uppy.io/' });
<小时/>
# config/routes.rb (Rails)
Rails.application.routes.draw do
mount Tus::Server => "/files"
end

这里,默认情况下,服务器直接将文件上传到项目根目录下的data/文件夹中。

我想要实现的是将视频文件上传到Vimeo。

喜欢:

  1. 文件转到 ${API_BASE}/files
  2. 矿井 Controller 获取文件
  3. 我将文件传递给 Vimeo(使用 vimeo_me2)
  4. Vimeo 上传文件并发回 video_url。我现在将 video_url 插入到某个视频表中。
  5. 上述所有进程都需要可恢复。

我正在使用vimeo_me2 gem 。

谁能提供一个将 Tus 服务器与 Shrine 集成/配置的解决方案吗?

最佳答案

tus-ruby-server 和 Shrine 的作者在这里:)

就我而言,您有两个选择:使用 Vimeo 的“拉动上传”,或直接上传到 Vimeo。

A.拉取上传

Vimeo 的 pull upload允许您向 Vimeo 提供文件的链接,并让它为您下载并保存文件。这应该是可恢复的,因为 tus-ruby-server 支持 range requests ,Vimeo 似乎会使用它:

We even handle any connectivity issues that might come up.

vimeo_me2 gem 有一个 method用于拉动上传。因此,您只需为其提供 tus 文件的链接即可,例如,如果您有一个带有 video 附件的 Movie:

vimeo_client.pull_upload("Name of video", movie.video.url)

B.直接上传到 Vimeo

Vimeo 还 implements tus 断点续传协议(protocol),所以理论上应该可以使用 Uppy 直接上传到 Vimeo。在这种情况下,您可以摆脱 tus-ruby-server

我个人没有尝试过这种方法。看起来好像多了一个创建视频的第一步,但其余部分看起来就像标准的 tus 协议(protocol)。这是example app由 Uppy 的作者创建,所以我认为您应该能够从那里复制粘贴很多内容。

<小时/>

推荐的方法是从 tus 服务器下载文件并使用 vimeo_me2 gem 将其上传到 Vimeo。首先,下载将不可恢复,如 down gem shrine-tus use 尚不支持可断点续传下载。其次,虽然 vimeo_me2 uses the tus protocol对于上传,如果出现连接错误,它似乎不会执行任何操作来恢复上传。它还似乎将整个文件加载到内存中。

无论如何,选项 A 和 B 的性能会更高。

关于javascript - Tus服务器与神社集成 "Dealing with large uploads filesize > 1 gb",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53445652/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com