代码之家  ›  专栏  ›  技术社区  ›  RaphaMex

如果上传成功,Rails回形针将删除本地附件

  •  0
  • RaphaMex  · 技术社区  · 4 年前

    我有下面的代码将本地文件保存到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))
    
    0 回复  |  直到 4 年前
        1
  •  2
  •   Gautam    4 年前

    既然你知道文件的路径,你可以在上传到s3后做类似的事情-

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