Skip to main content

Tallennus ja latausputki — Frontpics

Frontpics tallentaa kuvien metatiedot PostgreSQL:ään ja tiedostot ajonaikaisesti valittavaan tallennusbackendiin. Tuotannon oletus on Cloudflare R2, mutta S3-yhteensopiva tallennus ja paikallinen tallennus ovat tuettuja.

Tallennusbackendit

Aktiivinen backend määritetään Redisissä:

config:storage_backend = r2 | s3 | local

Backendit:

  • r2: Cloudflare R2, tuotannon oletus.
  • s3: S3-yhteensopiva objektitallennus.
  • local: kehityskäyttö ja allekirjoitetut paikalliset lataukset.

Olemassa olevat tiedostot pysyvät alkuperäisessä backendissä. Backendin vaihto koskee uusia kirjoituksia.

Tärkeitä kenttiä:

  • ImageFile.cdnUrl
  • ImageFile.fileSizeBytes
  • ImageFile.storageBucket
  • ImageFile.storageKey
  • ImageFile.storageProfileId

Älä lisää vanhoja alias-kenttiä kuten url tai sizeBytes.

Variantit

Putki tallentaa alkuperäisen tiedoston ja prosessoidut variantit:

original kuvaajan alkuperäinen tiedosto
large korkealaatuinen prosessoitu kuva
medium esikatselun/latauksen tukivariantti
thumbnail julkinen selauskuva
watermarked julkinen vesileimattu esikatselu

Latausvirta

  1. Web pyytää presigned-upload-osoitteet endpointista POST /upload/presigned.
  2. Selain lataa tiedostot suoraan aktiiviseen tallennukseen.
  3. Web tarkistaa duplikaatit endpointilla POST /upload/check-duplicates.
  4. Web vahvistaa latauksen endpointilla POST /upload/confirm ja lähettää metatiedot.
  5. API luo Image, Location, ImageTag ja jonotietueet.
  6. Worker luo variantit Sharpilla ja päivittää ImageFile-rivit.

Osoitteet ja koordinaatit

Lataustyökalu käyttää:

  • EXIF-GPS-tietoja;
  • GPS:n käänteistä geokoodausta;
  • osoitehakua;
  • osoitteesta koordinaateiksi -hakua;
  • manuaalisia koordinaattikenttiä.

Kuvaustilaukset käyttävät samaa rakenteista osoitehakua. Kuvaajien keikkakartta tarvitsee Location.latitude ja Location.longitude -kentät.

Lataukset ostajalle

Ostaja saa latauksen endpointista:

GET /api/v1/images/:id/download/:orderItemId

Vastaus sisältää allekirjoitetun latausosoitteen ja mahdollisen toimistobrändin.

Web voi latauksen yhteydessä:

  • ladata alkuperäisen/korkealaatuisen kuvan;
  • lisätä keskitetyn toimistovesileiman;
  • sijoittaa kohdepinssin;
  • käyttää brändikohtaista karttapinniä;
  • muodostaa lopullisen kuvan selaimessa.

Toimistobrändäys

Vesileima ratkaistaan AgencyBrand-mallista, yleensä sähköpostidomainin tai toimiston perusteella. Ostaja voi vaihtaa vesileiman ja sen sijainnin latauksen yhteydessä. Älä lisää välittäjäkohtaisia vesileimalatauksia.