Apparaît dans le post :

Comment puis-je le mapper à ceci (et vice versa) :
« //127.0.0.1:4200/uploads/default/original/1X/abcafdf0e1d9262d515075420e4d940718796a5d.jpeg »
apparaît comme la propriété url d’un Upload.
?
david
(David Taylor)
Avril 25, 2025, 8:09
2
Vous utiliseriez cette fonction :
puis rechercher le SHA1 dans la base de données pour trouver l’enregistrement de téléversement.
2 « J'aime »
Ah, c’est donc ça le SHA1 ? pff !
1 « J'aime »
david
(David Taylor)
Avril 25, 2025, 8:12
4
Oui, l’URL courte et l’URL normale incluent toutes deux le SHA1.
La différence est que l’URL longue utilise la version originale encodée en hexadécimal, qui correspond à celle de la base de données. L’URL courte « upload:// » est une représentation base62 du même hachage, de sorte qu’elle utilise moins de caractères.
1 « J'aime »
Désolé, j’ai bien compris.
Il y a donc :
short-url dans le Post
url - l’URL d’origine longue à télécharger.
SHA1 généré pendant le téléchargement.
et vous venez de me donner le moyen de trouver l’url à partir du short-url.
1 « J'aime »
Désolé, c’est tôt dans la journée, donc si mon objectif est de créer l’url-courte, je dois transcoder le SHA1 en base62 ?
david
(David Taylor)
Avril 25, 2025, 8:25
7
Où faites-vous cela ? Dans l’application Rails ?
Si c’est le cas, vous pouvez générer les URL en utilisant upload.short_url et upload.url.
Pour trouver un enregistrement d’upload en premier lieu, vous pouvez faire :
sha1 = Upload.sha1_from_long_url(...)
# ou
sha1 = Upload.sha1_from_short_url(...)
# puis
upload = Upload.find_by(sha1: sha1)
1 « J'aime »
Oui, Rails. Je télécharge depuis le back-end.
OMGoodness :
Upload.last.short_url
"upload://fkO7C9M7SLRhXjEiFTOSUJIdCgJ.jpeg"
Désolé David, j’ai complètement manqué ça !!
Au moins, ce sujet clarifie tout cela pour quiconque est intéressé.
Merci pour toutes les informations.
Upload
.where(dominant_color: nil)
.order("id desc")
.first(count)
.each { |upload| upload.calculate_dominant_color! }
end
private
def short_url_basename
"#{Upload.base62_sha1(sha1)}#{extension.present? ? ".#{extension}" : ""}"
end
end
# == Schema Information
#
# Table name: uploads
#
# id :integer not null, primary key
# user_id :integer not null
# original_filename :string not null
2 « J'aime »
system
(system)
A fermé ce sujet ()
Mai 25, 2025, 8:27
9
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.