本地和远程上传的工作原理
本地和远程上传的工作原理
本指南详细介绍了使用 Frame.io V4 API 上传文件的完整流程。 其中涵盖了本地和远程上传的原始 API 请求和响应。
还在寻找 SDK 特定的指南? 对于具有内置分片、重试和进度跟踪的上传实施,请参阅 Python SDK 上传指南。
前提条件
在开始上传文件之前,请确保您已完成这些设置步骤:
选择您的上传方式
使用 Frame.io API 上传文件有两种方式:创建文件(本地上传)和创建文件(远程上传)。
当媒体可在您的应用程序本地访问时使用,类似于从桌面拖拽文件
当通过网络访问媒体时使用,例如通过与其他服务的集成
在本指南中,我们将从完成远程上传这一项比较简单的情况开始。
远程上传
要通过远程上传创建文件,请选择**创建文件(远程上传)**端点。 请求体需要文件名称及其来源 URL。
远程上传目前有 50 GB 的文件大小限制。 对于超过 50 GB 的文件,请改用本地上传。
请求示例
响应示例
成功的请求将产生如下响应:
本地上传
要通过本地上传创建文件,请选择**创建文件(本地上传)**端点。 请求体需要文件名称及其以字节为单位的文件大小。
请求示例
响应示例
如果请求成功,会创建一个没有任何内容的占位符文件资源。 根据具体的文件大小,响应体将包含一个或多个 upload_urls。 以这个例子为例,我们将需要分多个分段管理此上传。
重要的上传要求:
发送后续上传请求时需要牢记以下重要详细信息:
- HTTP 请求方法必须为
PUT x-amz-acl标头必须包含并设置为私密Content-Type标头必须与原始 创建文件(本地上传) 请求中指定的media_type匹配。 在将文件作为单独分段上传时也是如此。 在上述示例中,media_type的值是image/jpeg。 因此,Content-Type的值也必须是image/jpeg。
多分段上传
当给定文件产生多个上传 url 时,您需要将源文件拆分为分片,并为每个分片发出 PUT 请求。
推荐操作:Python SDK 上传指南涵盖使用 FrameioUploader 进行多分段上传,它可以开箱即用地处理分片、并行上传、重试和跟踪进度。
如果您需要手动实施上传(例如,在没有 SDK 的语言中,或者为了完全控制上传过程),下面的脚本展示了如何将文件分成多个分片,并使用预签名 URL 上传每个分片。
Python 实施示例
上传流程总结
后续步骤:文件上传后,您可以使用返回的文件 ID 来添加评论、创建共享项或使用 Frame.io V4 API 执行其他操作。