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