Transmission de fichiers par URL

Les règles qu’un lien de fichier doit respecter, et les types de contenu acceptés par chaque entrée.

Il n’existe pas de point de terminaison de téléversement. Un champ de fichier prend un lien HTTPS public, que nous récupérons, vérifions et copions dans votre projet Morphic avant le démarrage de l’exécution. Votre CDN reste la source d’origine de votre propre contenu, et les images, vidéos, audio et documents utilisent tous le même contrat.

Chaque lien doit satisfaire à tout ce qui suit

ExigenceDétail
HTTPSsimple http est refusé
Il sert le fichierle corps de la réponse doit contenir les octets. Une page d’aperçu ou de partage — un visualiseur Drive, une page d’accueil Dropbox, tout habillage HTML — est refusée
Un nom d’hôte publicnoms d’hôte uniquement. Une adresse IP, localhost, ou un nom qui se résout vers une adresse privée est refusé
Aucune information d’identification dans l’URLhttps://utilisateur:motdepasse@… est refusé. Une chaîne de requête pré-signée convient, et n’est jamais écrite dans nos journaux
Un type de contenu répertoriédu Content-Type doit être l’un des url_content_types
Octets qui correspondent àles premiers octets du fichier sont vérifiés par rapport au type sous lequel il a été servi, avant qu’il ne soit conservé. Un PNG servi comme PDF, une page HTML servie comme JSON, ou tout ZIP servi comme DOCX est refusé
À l’intérieur de max_bytesvérifié à partir de Content-Length d’abord, puis de nouveau appliqué pendant le flux des octets
Au plus 3 redirectionsplus de trois sauts est refusé
Valide pour toute la récupérationun lien qui expire en cours de transfert fait échouer l’exécution
Non videun lien qui sert zéro octet est refusé
Livré rapidementun hôte qui ne peut pas livrer le fichier entier en environ 40 secondes est refusé, et l’ensemble des liens d’une exécution dispose d’environ 90 secondes

Un lien signé à durée de vie courte est la cause habituelle d’un fichier partiellement récupéré. Donnez-lui au moins quelques minutes de validité après le moment où vous démarrez l’exécution.

Types de contenu par type d’entrée

La liste exacte pour une entrée se trouve dans son url_content_types. Ce sont les types que chaque type d’entrée peut être configuré à accepter.

Type d’entréeTypes de contenu
imageimage/png, image/jpeg, image/webp, image/gif, image/tiff, image/avif, image/heic
vidéovideo/mp4, video/webm, video/quicktime, video/mpeg, video/x-matroska
audioaudio/mpeg, audio/wav, audio/aac, audio/ogg, audio/mp4, audio/webm
documentapplication/pdf, text/plain, text/markdown, text/csv, application/json, et DOCX

Tout ce qui ne figure pas dans la liste d’une entrée est refusé. Il n’existe pas de type d’entrée « n’importe quel fichier », et une extension n’est jamais digne de confiance — ce qui compte, ce sont les octets.

Plafonds par exécution

Les liens et les octets sont plafonnés par exécution pour l’ensemble des entrées de fichier — voir Erreurs et limites.

Sur cette page