繁体   English   中英

ruby中的文件删除

[英]File delete in ruby

我编写了一段代码来创建一个新文件,将图像 URL 中的内容下载到文件中,并使用“mount_base64_uploader”将其上传到carrierwave。 此操作后,我必须删除该文件。 我的代码如下所示

open(self.name + '.png', 'wb') do |readfile|
  unless self.image_url.nil?
    if self.image_url =~ URI::regexp
      readfile << open(self.image_url).read
    else 
      readfile << open(DEFAULT_IMAGE).read
    end  
  else
    readfile << open(DEFAULT_IMAGE).read
  end
  self.file = readfile
  File.delete(readfile)
end

其中 DEFAULT_IMAGE 是用作占位符的默认图像 URL。 但是,当它尝试删除文件时出现错误

权限被拒绝@ unlink_internal

如果我需要更改代码或明确添加权限,任何人都可以在这里指导我。

这是您的 /usr/local/lib/ 目录的权限问题,您可以授予当前用户必要的权限,然后尝试重新执行 brew cleanup 命令。 类似的东西:

sudo chown -R $(whoami) /usr/local/lib

brew cleanup

或者,这可以作为 -

假设为 CarrierWave 上传器安装了一个image属性

def store_url_image(img_url: DEFAULT_IMAGE)
  self.remote_image_url = img_url
  self.save
end

object.store_url_image(img_url: "http://apod.nasa.gov/apod/image/1407/m31_bers_960.jpg")

#Reference 上传远程图片url

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM