Come ottenere l'URL reale di un caricamento di post?

Ciao!\nHo cercato ovunque su Internet ma senza successo, quindi mi sono rivolto a chiedere qui.\n\nPermettimi di aggiungere un po’ di contesto, stiamo creando un front-end personalizzato utilizzando l’API utente di Discourse. Dove stavo cercando di renderizzare il contenuto grezzo di un post, ma le immagini vengono passate così: uploads://<id>.png quindi il browser non può recuperarle.\n\nC’è un modo per ottenere l’URL reale tramite l’API? come https://custom.discourse.org/uploads/<id>.png o qualcosa di simile?\n\nSaluti!

1 Mi Piace

Vedi Converting short upload URLs to full URLs

6 Mi Piace

Grazie mille, ci darò un’occhiata!

1 Mi Piace

Ciao @RGJ Ho appena provato il codice di esempio Python, menzionato qui: Converting short upload URLs to full URLs - #2 by michaeld

Ma sembra che non venga decodificato correttamente.

Questo è il codice che ho finito per provare. Dovrebbe decodificare in “77f164006403e10d7d40143d525f8a5d69390baf” ma ottengo “77f13112951f458abf39d5e480c59eba10c97f31”, hai idea del perché possa essere così? Non sono molto esperto in questo tipo di cose.

import base62
input = "h73zkifccxqjtevvuahwq9hefkt"
expected = "77f164006403e10d7d40143d525f8a5d69390baf"

decoded = hex(base62.decode(input, base62.CHARSET_INVERTED))[2:].zfill(40)

print('decoded: ' + decoded)

if expected != decoded:
  print('not decoded correctly')
else:
  print('decoded correctly')

Scusami, veniva convertito in minuscolo prima che stampassi il link uploads:// nella console, quindi la decodifica non ha funzionato. Usare la maiuscola corretta funziona!

Grazie mille per il rapido aiuto!!!

Ecco il codice che ho usato in Flutter per raggiungere questo obiettivo:

import 'package:base_x/base_x.dart';
import 'package:hex/hex.dart';

String decodeUploadsLink(String encoded) {
  var base62Rev = BaseXCodec('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
  var decodedRev = base62Rev.decode(encoded);
  return HEX.encode(decodedRev);
}
5 Mi Piace