如果文件大小超过500KB ruby on rails,则停止文件写入
当文件大小超过500KB时,如何停止文件写入(上传远程URL)?
我使用以下代码上传远程文件
require 'open-uri' open('temp/demo.doc', 'wb') do |file| file << open('http://example.com/demo.doc').read end
这段代码工作正常,我可以在临时文件夹中获取文件。 现在我想如果filesize超过500KB那么它应该停止写文件。 换句话说,如果超过500KB,我只需要500KB的文件
IO#read ,接受一个字节参数,因此您可以指定要从IO读取的内容的大小,如下所示:
require 'open-uri' open('temp/demo.doc', 'wb') do |file| file << open('http://example.com/demo.doc').read(500000) end
你也可以玩像file.stat.size
这样的file.stat.size
但鉴于你直接管道到文件,你必须做更多的事情才能file.stat.size
工作。