【发布时间】:2013-11-07 07:13:32
【问题描述】:
有谁知道是否有一种方法可以上传用户选择的文件(典型的基于 HTML 的文件输入标签),而不受 SoundCloud API 中的当前限制(似乎仅限于录制本地音频)?
我用 Vimeo 的 API 实现了类似的东西,如下所示:
- 获取访问令牌以避免必须使用 OAuth 或要求用户成为 Soundcloud 用户才能上传到我的帐户。
- 向 API 发布请求以获取上传令牌和 URL。
- 使用用户使用 HTML5 的文件 API 选择的文件对上传 URL 执行 HTTP PUT - 请注意,这要求用户通过标头接受请求。
- 检查上传状态(在 Vimeo 的情况下,您只需在没有数据的情况下使用上传 URL 中的票证 ID 重新 PUT)。
- 完成后,再次调用 API 以完成该过程并触发转码。
我实际上是在尝试让用户上传音频文件,并将文件本身直接发送到 Soundcloud 和我在那里的帐户,而不是上传到我的服务器,并通过从我的服务器上传到 Soundcloud 来使工作量翻倍。
我看到 SoundCloud JS Api 支持 PUT 用于其他任务。我不介意直接手动执行 XHR/Ajax 调用(我正在使用 jQuery.ajax),但是由于 JS SDK 隐藏了一点进程,我不知道如何确定如何处理它,如果我可以的话全部。
有人尝试过或者碰巧知道如何实现吗?
【问题讨论】:
-
你有没有得到这个?我正在尝试完全相同的事情...您可能认为现在 Soundcloud 是基于“免费增值”的商业模式,他们会让这很容易做到...
-
不。我最近没有检查他们是否更新了 API 以支持这一点。不管他们的模型是什么,您都在谈论可能有多个 MB 数据要传输的情况。至少没有直接上传文件的途径似乎毫无意义。 Vimeo 支持这一点,它很棒。获取上传票证,对他们的服务器执行 PUT,然后就完成了。
标签: javascript html api file-upload soundcloud