■ファイルをアップロードする

■書式

open("./data.jpg","w") do |fh|
fh.binmode
fh.write formData['imgData'][0].read
end

■説明

ファイルをアップロードするにはcgiライブラリを利用しファイルのデータを読み込みサーバー側にファイルとして書き込みます。ここではあらかじめ書き込むファイル名を決めてありdata.jpgという名前にしてあります。このdata.jpgは第三者も書き込みができるようなパーミッション(666)になっている必要があります。

■サンプル (CGI)

#!/usr/bin/ruby
require "cgi"
formData = CGI.new
print "Content-type: text/html\n\n"
print "Now Uploading...<br>"
open("./data.jpg","w") do |fh|
fh.binmode
fh.write formData['imgData'][0].read
end
print "Upload End"

■サンプル (HTML)

<html>
<head>
<title>Ruby CGI Sample</title>
</head>
<body>
<form method="post" action="./sample.cgi" enctype="multipart/form-data">
画像<input type="file" name="imgData"><br>
<input type="submit" value="Upload">
</form>
</body>
</html>