Quel est le schéma d'un fichier image sur Tumblr? (Je ne veux pas dire HTTP
) J'ai seulement compris que le domaine des serveurs où les images sont stockées est <n>.media.tumblr.com
, où n
est un nombre compris entre 1 et 31 et le nom du fichier image est précédé de "tumblr_
.
Je demande parce que je veux trouver des URL qui renvoient à la même image.
EDIT: Je traite également des URL provenant d'autres sources, pas seulement de Tumblr.
Lorsque vous téléchargez une image sur Tumblr, plusieurs tailles (de la même image) sont générées et stockées sur leur réseau.
Une fois téléchargé, vous pouvez utiliser balises de modèle pour demander cette image aux tailles suivantes: 75 , 100 , 250 , 400 , 500 et 1280 .
Il convient de mentionner les éléments suivants:
L'URL de l'image sera l'une des deux ci-dessous. La première URL semble être associée aux images téléchargées il y a plus de 6 mois (c'est une supposition), la deuxième URL semble être pour les images plus récentes:
http://36.media.tumblr.com/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
ou
http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
Cela peut être divisé en trois parties, deux variables, une constante.
http://36
.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1
_500.jpg
1 Il s'agit d'un numéro de serveur et peut différer pour chaque taille d'image. AFAIK il n'y a aucune garantie qu'une taille d'image sera disponible sur tous les serveurs. @Ally mentionné dans les commentaires, vous pouvez supprimer cette partie de l'URL et l'image sera toujours trouvée.
2 Il s'agit du sous-domaine Tumblr, du répertoire (le cas échéant) et du nom de fichier partiel. Ce sera le même pour toutes les tailles.
3 Il s'agit de la taille demandée (qui correspond à la balise du modèle) et de l'extension de fichier.
La seule méthode infaillible que j'ai trouvée consiste à utiliser les balises de modèle correspondantes et à les affecter à un data-
attribut.
Exemple de code de modèle:
<img src="{PhotoURL-100}" data-250u="{PhotoURL-250}" data-400u="{PhotoURL-400}" data-500u="{PhotoURL-500}" data-1280u="{block:HighRes}{PhotoURL-HighRes}{/block:HighRes}" />
Exemple de code rendu:
<img src="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_100.jpg" data-250u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_250.jpg" data-400u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_400.jpg" data-500u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg" data-1280u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_1280.jpg" >
Avec cette méthode, vous pouvez être certain de disposer des URL correctes et de connaître les tailles disponibles.
En utilisant ces informations, l'URL deviendrait:
http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
Voici un test pour confirmer que nous accédons à toutes les tailles disponibles:
Vous ne savez toujours pas si la taille 1280 a été générée, mais c'est un pas de plus. Avec cette méthode, vous pouvez remplacer la valeur (partie 3) par une nouvelle taille et vous devriez être en mesure d'obtenir l'image.
Gardez à l'esprit que les fichiers originaux (dans leur pleine résolution) sont stockés avec le suffixe '_raw', au lieu de _1280, _500, _250, etc.
Ils sont généralement stockés sur data.tumblr.com actuellement (leur domaine CDN).
Le chemin dans le schéma d'URL est généré à partir de la somme de contrôle SHA1 du fichier d'origine (brut).