通过 URL 传递文件

文件链接必须满足的规则,以及每种输入接受的内容类型。

没有上传端点。文件输入接受一个 公开的 HTTPS 链接,我们会在运行开始前获取、验证并复制到你的 Morphic 项目中。你的 CDN 仍然是你自己内容的源站,图片、视频、音频和文档都使用同一套约定。

每个链接都必须满足以下所有条件

要求详情
HTTPS明文 http 会被拒绝
它直接返回文件响应体必须是字节流。预览页或分享页——例如 Drive 查看器、Dropbox 落地页,或任何 HTML 包装页——都会被拒绝
公共主机名仅限主机名。IP 地址、 localhost,或解析到私有地址的名称都会被拒绝
URL 中不能包含凭据https://user:pass@… 会被拒绝。预签名查询字符串是可以的,而且绝不会写入我们的日志
列出的内容类型响应的 Content-Type 必须属于该输入的 url_content_types
匹配的字节在保存之前,会先将文件的前几个字节与其被提供时的类型进行检查。将 PNG 作为 PDF 提供、将 HTML 页面作为 JSON 提供,或将任何 ZIP 作为 DOCX 提供都会被拒绝
内部 max_bytes从 Content-Length 先检查,然后在字节流传输时再次强制执行
最多 3 次重定向超过三跳即被拒绝
在整个获取过程中都有效在传输中途过期的链接会导致运行失败
不能为空返回 0 字节的链接会被拒绝
及时送达在大约 40 秒内无法传完整个文件的主机会被拒绝,而一次运行中的所有链接合计大约只有 90 秒

有效期很短的签名链接通常会导致文件只获取到一半。请至少将其有效期设置为从你开始运行时起再延长几分钟。

按输入类型划分的内容类型

某个输入的确切列表在其 url_content_types中。这些是每种输入类型可配置接受的类型。

输入类型内容类型
图像image/png, image/jpeg, image/webp, image/gif, image/tiff, image/avif, image/heic
视频video/mp4, video/webm, video/quicktime, video/mpeg, video/x-matroska
音频audio/mpeg, audio/wav, audio/aac, audio/ogg, audio/mp4, audio/webm
文档application/pdf, text/plain, text/markdown, text/csv, application/json,以及 DOCX

不在某个输入列表中的内容都会被拒绝。没有“任意文件”输入类型,而且文件扩展名从不可信——真正重要的是字节内容是什么。

每次运行的上限

所有文件输入的链接和字节数都会按每次运行统一限额——参见 错误与限制.

本页内容