Question: How to conditionally override `resource_type`?

Offen
#447 1 Kommentar 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@const-cloudinary arbeitet bereits daran.

Seit 23.3.2021.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

Is it possible to conditionally set resource_type to "raw" based on attributes of the model instance?

The issue I'm facing is that I have users who want to upload password-protected PDFs. These get rejected by Cloudinary with an error.

In order to upload these, it seems like I need to set the resource_type to "raw", overriding the auto-identified file type (pdf):

The only way I've found so far to do that is with a transformation in the uploader class:

process cloudinary_transformation resource_type: "raw"

...which works, but applies to all files uploaded with this uploader, since process is a class method (?).

Is it possible to set resource_type dynamically for each uploaded file? Or is the approach to have two different uploaders: one which obeys the MIME type (?) and another which always uses "raw"?

If the approach is multiple uploads, is it possible to switch those based on data in the model, or is there always just one uploader per model? I guess that's maybe a question for the CarrierWave project.

Many thanks for your patience 🙏 - I'm inheriting a legacy project which is using this gem and I'm only just getting to grips with how it works 😅

Vorherrschende Sprache
Ruby
Sterne
420
Forks
282
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus cloudinary/cloudinary_gem

Alle Issues in cloudinary/cloudinary_gem

Ähnliche Issues

Weitere Issues zu Ruby

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.