首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tus服务器与神社的集成“处理大上传文件大小>1GB”

Tus服务器与神社的集成“处理大上传文件大小>1GB”
EN

Stack Overflow用户
提问于 2018-11-23 11:14:28
回答 1查看 540关注 0票数 0

我正在尝试将tus服务器神社集成,以便将视频文件上传到Vimeo。

Client.js

代码语言:javascript
复制
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/' });
代码语言:javascript
复制
# config/routes.rb (Rails)
Rails.application.routes.draw do
  mount Tus::Server => "/files"
end

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

我想要实现的是将video文件上传到Vimeo

比如:

  1. 文件转到${API_BASE}/files
  2. 地雷控制器获取文件
  3. 我将文件传递给Vimeo (使用me2)
  4. Vimeo上传文件,将video_url发回,我现在将video_url插入到特定的视频表中。
  5. 所有这些过程都需要恢复。

我使用的是me2宝石。

有人能提供一个解决方案来集成/配置tus服务器与神社吗?

任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-23 20:08:13

图-红宝石服务器和神殿的作者:)

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

A.拉上传

Vimeo的拉上传允许您为Vimeo提供指向您的文件的链接,并让它下载并为您保存该文件。这应该是可恢复的,因为tus-ruby服务器支持范围请求,而且Vimeo似乎会使用:

我们甚至处理可能出现的任何连接问题。

vimeo_me2 gem有一个用于拉上传的方法。因此,您只需为它提供到tus文件的链接,例如,如果您有一个带有Movie附件的video

代码语言:javascript
复制
vimeo_client.pull_upload("Name of video", movie.video.url)

B.直接上传到Vimeo

Vimeo还实施器的tus可恢复上传协议,所以理论上应该可以使用Uppy直接上传到Vimeo。在这种情况下,您可以摆脱tus-ruby-server

我个人还没有尝试过这种方法。似乎有一个额外的第一步,创造视频,但其余的看起来像标准的tus协议。这是一个由Uppy作者创建的示例应用程序,所以我认为您应该能够从那里复制粘贴大量的东西。

不推荐的方法是从tus服务器下载文件并使用vimeo_me2 gem将其上传到Vimeo。首先,下载不会恢复,因为shrine-tus使用的shrine-tus宝石还不支持可恢复下载。其次,虽然vimeo_me2 使用tus协议用于上传,但在发生连接错误时,它似乎没有做任何事情来恢复上传。它似乎还会将整个文件加载到内存中。

无论如何,备选方案A和B将更具表现力。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53445652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档