Aparece em Postagem:

Como posso mapeá-lo para isto (e vice-versa):
"//127.0.0.1:4200/uploads/default/original/1X/abcafdf0e1d9262d515075420e4d940718796a5d.jpeg"
aparece como propriedade url de um Upload.
?
david
(David Taylor)
Abril 25, 2025, 8:09am
2
Você usaria esta função:
e então procuraria o SHA1 no banco de dados para encontrar o registro de upload.
2 curtidas
Ah, então esse é o SHA1? doh!
1 curtida
david
(David Taylor)
Abril 25, 2025, 8:12am
4
Sim, tanto o URL curto quanto o URL regular incluem o SHA1.
A diferença é que o URL longo usa a versão original codificada em hexadecimal, que corresponde à do banco de dados. O “URL curto” upload:// é uma representação base62 do mesmo hash, para que use menos caracteres.
1 curtida
Desculpe, entendi.
Então, há um:
short-url no Post
url - URL original longa para upload.
SHA1 gerado durante o upload.
e você acabou de me dar a maneira de encontrar a url a partir da short-url
1 curtida
Desculpe, é o início do dia, então se meu objetivo é criar o short-url, preciso transcodificar o SHA1 para base62?
david
(David Taylor)
Abril 25, 2025, 8:25am
7
Onde você está fazendo isso? No aplicativo Rails?
Se sim, você pode gerar os URLs usando upload.short_url e upload.url.
Para encontrar um registro de upload em primeiro lugar, você pode fazer:
sha1 = Upload.sha1_from_long_url(...)
# ou
sha1 = Upload.sha1_from_short_url(...)
# então
upload = Upload.find_by(sha1: sha1)
1 curtida
Sim, Rails. Estou fazendo o upload do back-end.
OMGoodness:
Upload.last.short_url
"upload://fkO7C9M7SLRhXjEiFTOSUJIdCgJ.jpeg"
Desculpe David, eu não tinha visto isso!!
Pelo menos este Tópico esclarece tudo para quem estiver interessado.
Obrigado por toda a informação.
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 curtidas
system
(system)
Fechado
Maio 25, 2025, 8:27am
9
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.