【问题标题】:Upload file with Mechanize for Ruby使用 Mechanize for Ruby 上传文件
【发布时间】:2013-03-30 13:23:33
【问题描述】:

文件上传无法使用:

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。

【问题讨论】:

  • "....file_name = '/tmp/image.jpg'" 返回带有文件名的字符串; "form.submit" 提交后返回页面,页面让我没有选择文件

标签: ruby mechanize


【解决方案1】:

有点离题,但我发现另一种使用 Mechanize 上传文件的方法很有用,特别是如果您手边没有 HTML 表单,那就是使用 Mechanize.postFile 实例:

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

【讨论】:

    【解决方案2】:

    试试这个:

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

    【讨论】:

      【解决方案3】:

      试试:

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

      【讨论】:

      • 没有帮助,这是等效的
      猜你喜欢
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 2021-01-18
      • 2011-05-14
      • 1970-01-01
      相关资源
      最近更新 更多