当文件大小超过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的文件
答案 0 :(得分:2)
IO#read,接受一个字节参数,因此您可以指定要从IO读取的内容的大小,如下所示:
VT2
你也可以玩require 'open-uri'
open('temp/demo.doc', 'wb') do |file|
file << open('http://example.com/demo.doc').read(500000)
end
这样的东西,但鉴于你直接在文件中管道,你必须做更多的事情才能让它发挥作用。