Rails Paperclip удалит локальное вложение, если загрузка прошла успешно - PullRequest
0 голосов
/ 16 марта 2020

У меня есть код ниже, чтобы сохранить мой локальный файл в AWS S3. Он правильно загружает мой файл на S3, но мой локальный файл не удаляется. Теперь я полностью заполнил дисковое пространство. Как я могу попросить скрепку удалить локальный файл после его загрузки?

class JobArtifact < ActiveRecord::Base
  attr_reader :remote_url
  has_attached_file :file, path: 'tmp/:id/:fingerprint.:extension'

  do_not_validate_attachment_file_type :file

  def remote_url=(url)
    self.file = URI.parse(url_value)

    @remote_url = url
  end
end

Он называется так:

@filename = "#{Rails.root}/tmp/values.csv"
JobArtifact.create(file: File.open(@filename))

1 Ответ

2 голосов
/ 16 марта 2020

Поскольку вы знаете путь к файлу, вы можете просто сделать что-то подобное после его загрузки на s3 -

def remove_file
  File.delete(@filename) if File.exist?(@filename)
end
...