2013-03-30 61 views
2

文件上傳不使用工作:與機械化上傳文件的Ruby

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。

+1

是什麼回報? – gmaliar

+0

「.... file_name ='/tmp/image.jpg'」返回帶有文件名的字符串; 「form.submit」提交頁面後返回頁面,以便我沒有選擇文件 – Neschur

回答

-1

嘗試:

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

沒有幫助, 這是等價的 – Neschur

1

試試這個:

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

稍微偏離主題,但另一種方式來上傳與機械化的文件,我發現有用的,特別是如果你沒有一個HTML表單得心應手,是隻使用Mechanize.postFile實例:

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