toy*_*toy 4 ruby ruby-on-rails imagemagick cucumber
这可能听起来很奇怪,或者你为什么要那样做.
我正在尝试编写黄瓜功能来测试上传大图像文件(> 16M)因此,我不想将大文件存储在github或我的项目中.我正在使用imagemagick创建一个图像,但据我所能做的只有1M.我可以在ruby中增加文件大小吗?我不关心文件里面的内容,只关心文件大小.谢谢,无论如何我可以欺骗黄瓜相信我,我上传的文件很大?
谢谢
该dd(1)工具可以使用非常小的磁盘空间使文件非常大:
$ dd if=/dev/zero of=huge bs=1024 count=1 seek=100000
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 4.9857e-05 s, 20.5 MB/s
$ ls -lh huge
-rw-r--r-- 1 user user 98M 2011-07-03 02:43 huge
$ du -h huge
12K huge
Run Code Online (Sandbox Code Playgroud)
该文件huge长度为102400000字节.(大约98M.)但它只需要12千字节的磁盘,因为该seek参数dd(1)使它开始写入"文件".如果读取前面的字节,操作系统将提供无穷无尽的零.(0x00种零,不是ASCII类型的零:"0".)
如果你想在Ruby中复制它,你可以使用这个File#seek函数:
irb> f=File.new("huge", "w")
=> #<File:huge>
irb> f.seek(100000 * 1024)
=> 0
irb> f.write("hello")
=> 5
irb> f.close()
=> nil
irb> ^D
$ ls -lh huge
-rw-r--r-- 1 sarnold sarnold 98M 2011-07-03 02:47 huge
Run Code Online (Sandbox Code Playgroud)
红宝石代码:
f=File.new("100MB", "w")
f.seek(100000 * 1024)
f.write("hello")
f.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |