使用Mechanize for Ruby上传文件

时间:2013-03-30 13:23:34

标签: ruby mechanize

文件上传无法使用:

form.file_upload_with(:name => 'image[1]').file_name = '/tmp/image.jpg'
form.submit

这是一个过时的例子:https://github.com/sparklemotion/mechanize/blob/master/examples/flickr_upload.rb

我在两个不同的网站上试过这个。

我正在使用Mechanize 2.6.0。

3 个答案:

答案 0 :(得分:8)

稍微偏离主题,但使用Mechanize上传文件的另一种方法我觉得很有用,特别是如果你没有方便的HTML表单,只需将Mechanize.postFile实例一起使用:

a = Mechanize.new
a.post(url, {
    "file1" => File.new("/tmp/image.jpg")
})

答案 1 :(得分:1)

试试这个:

file = File.join( APP_ROOT, 'tmp', 'image.jpg')
form.file_uploads.first.file_name = file

答案 2 :(得分:-1)

尝试:

form_with(:method => /POST/) do |form|
    form.file_uploads.first.file_name = '/tmp/image.jpg'
end.submit