[Ruby][CGI] ファイルをアップロードする。
Rubyでファイルアップロード機能を実装する機会がありまして、載せておいてみます。
HTML form はこんな感じ↓
<form method="post" enctype="multipart/form-data" action="/app/upload">
upload<input type="file" name="file"><input type="submit" value="アップロード">
</form>
で、肝心のソースはこちら↓
#!/usr/local/bin/ruby
require "cgi"
cgi = CGI.new
print cgi.header("type" => "text/html", "charset" => "UTF-8")
# ファイル名取得、いろいろ考えるのが面倒だったのでこんな方法↓で。しょぼ。
if cgi['file'].original_filename =~ /\\([^\\]*)$/
# Windows + IE の場合、ローカルのフルパスで渡されやがるんで...
filename = $1
else
# それ以外はたぶんこれでいいはず
filename = File.basename(cgi['file'].original_filename)
end
open("/home/fager/#{filename}","w") do |fh|
fh.binmode
fh.write cgi['file'].read
end
あとはやるならファイルサイズチェックとかかな。
| 固定リンク
「Ruby」カテゴリの記事
- [Ruby][CGI] ファイルをアップロードする。(2008.06.02)
「CGI」カテゴリの記事
- [Ruby][CGI] ファイルをアップロードする。(2008.06.02)
この記事へのコメントは終了しました。
コメント
折角スタッフさんのお手紙も入っていたのに
肝心の商品状態がランク以下では残念過ぎます。
【最短当日発送】遅くとも1~2営業で出荷可能、全国一律送料無料。販売価格はフリーダイヤルにてご相談させてください♪【0601楽天カード分割】プラダ ショルダーバッグ B8348 ブラック サテン ビーズ 新品 スタッズ PRADA
投稿: ロレックス スーパーコピー 比較 java | 2021年7月10日 (土) 20時17分