Wie kann ich den Pfad der Bilder ändern, die ich mit Büroklammer und Schienen hochladen. Ich möchte, dass der Pfad im Ordner gov_id meines Buckets enthalten ist und das Bild dort ohne Unterordner verbleibt. Und auch, wie die URL des Bildes zu machen, dieses Format zu folgen: „https://s3-ap-southeast-1.amazonaws.com/BUCKET_NAME/GOV_ID/IMAGE_NAME.EXTENSION“ Hinweis: Ich habe einen gov_id Ordner in meinem Eimerändert Pfad der Bilder auf Amazon S3 hochgeladen mit Paperclip in Rails
Ich habe eine Anlage Modell, das wie folgt aussieht:
class Attachment < ApplicationRecord
belongs_to :attachable, polymorphic: true
has_attached_file :image, :styles => {:thumb => "200x200#"},
:storage => :s3,
validates_attachment :image, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png"] }
validates_attachment :image, presence: true
before_save :rename_file
def rename_file
extension = File.extname(image_file_name).gsub(/^\.+/, '')
new_image_file_name = "gov_#{self.attachable.reference_code}.#{extension}"
image.instance_write(:file_name, new_image_file_name)
end
end
Dies speichert das Bild, das in meinen Bucket hochgeladen wurde, aber nicht im Ordner gov_id. Es geht auf Anlagen/images/000/000/013/Original und die URL wird „s3-ap-southeast-1.amazonaws.com/BUCKET_NAME/attachments/images/000/000/013/original/gov_UG2S463C.png? 1500620951