Aparece en la publicación:

¿Cómo puedo mapearlo a esto (y viceversa):
"//127.0.0.1:4200/uploads/default/original/1X/abcafdf0e1d9262d515075420e4d940718796a5d.jpeg"
aparece como propiedad url de un Upload.
david
(David Taylor)
25 Abril, 2025 08:09
2
Usarías esta función:
y luego buscarías el SHA1 en la base de datos para encontrar el registro de carga.
2 Me gusta
Ah, ¿así que ese es el SHA1? ¡doh!
1 me gusta
david
(David Taylor)
25 Abril, 2025 08:12
4
Sí, tanto la URL corta como la URL normal incluyen el SHA1.
La diferencia es que la URL larga utiliza la versión original codificada en hexadecimal, que coincide con la de la base de datos. La “URL corta” upload:// es una representación base62 del mismo hash, para que utilice menos caracteres.
1 me gusta
Lo siento, entendido.
Entonces hay:
short-url en el Post
url - URL original larga para subir.
SHA1 generado durante la carga.
y tú solo me diste la forma de encontrar la url desde la short-url
1 me gusta
Lo siento, es temprano en el día, así que si mi objetivo es crear la short-url, ¿necesito transcodificar SHA1 a base62?
david
(David Taylor)
25 Abril, 2025 08:25
7
¿Dónde estás haciendo esto? ¿En la aplicación Rails?
Si es así, puedes generar las URL usando upload.short_url y upload.url.
Para encontrar un registro de carga en primer lugar, puedes hacer:
sha1 = Upload.sha1_from_long_url(...)
# o
sha1 = Upload.sha1_from_short_url(...)
# luego
upload = Upload.find_by(sha1: sha1)
1 me gusta
Sí, Rails. Estoy subiendo desde el backend.
OMGoodness:
Upload.last.short_url
"upload://fkO7C9M7SLRhXjEiFTOSUJIdCgJ.jpeg"
Lo siento David, ¡me lo perdí por completo!
Al menos este Tema aclara todo esto para cualquier persona interesada.
Gracias por toda la información.
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 Me gusta
system
(system)
Cerrado
25 Mayo, 2025 08:27
9
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.