form = CGI.new
id = form['id'][0].read
3行目に注目。
multipartの場合は「.read」をつけます。
次にファイルのアップロード
form = CGI.new
#ファイル名の取得
filename = form['filename'][0].original_filename
#フォームから送られてきたファイル名が空じゃなかったらファイルに書き込み
if filename != "" then
filename = filename[filename.rindex("\\")+1 , 100]
open("../data/#{filename}", "w") do |fh|
fh.binmode
fh.write form['filename'][0].read
end
end
上記の例は
< input type="file" name="filename">
で送った場合です。
filename = filename[filename.rindex("\\")+1
, 100]
はパス付で送られてくるファイル名をファイル名だけにしています。
例:「C:\program\photo.jpg」→「photo.jpg」