From: ohara@... Date: 2001-04-03T12:02:43+09:00 Subject: [ruby-list:29061] ファイルを送信する CGI にて。 小原と申します。かなり久しぶりです。 Ruby良いですね。Javaのプログラムを開発してるんですが、 xxx.xxxxxx.xxxxとかのパッケージをx.x.xとしたりしてアプレットサイズを小さくしたり、 System.out.print文をプログラムから一掃してアプレットサイズを小さくしたり、名脇役です。 先週、部内でちょっとRubyで作ったツールを発表したんですが、 結構な人がRubyに興味を持った様子でした。しめしめ...。 前置きが長くなりました。 今Rubyでファイルを受信するcgiを作ろうとしているんですが、 #IISでrubyをCGIとして使うには、...\ruby.exe %sと、 #%sが必要というのにはまいりました。IISめ。 #mod_rubyも、Windows用があると良いのになぁ。 ちょっと解らない部分が出てきて、ぜひお知恵をお借りしたいのですが。 下記の用にhtmlと、cgiを作成したのですが、 下記の様なメッセージが表示されてしまいます。 何が悪いのでしょうか...。 どなたかご教授下さい。 エラーからすると、既にファイルがあるよって意味みたいなんですが、 あって当然という感じが...。 あと、require "cgi"と、require "cgi-lib"にはどんな違いがあるんでしょうか。 #Ruby関連の本にFoo Bar Bazって書いてあるけど、あれってどういう意味なんです? #慣習みたいですけど、意味や由来が気になる!! <メッセージ> CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: D:/ruby/lib/ruby/1.6/tempfile.rb:57:in `open': File exists - "D:\\WINNT\\TEMP/CGI2104.0" (Errno::EEXIST) from D:/ruby/lib/ruby/1.6/tempfile.rb:57:in `initialize' from D:/ruby/lib/ruby/1.6/cgi.rb:793:in `new' from D:/ruby/lib/ruby/1.6/cgi.rb:793:in `read_multipart' from D:/ruby/lib/ruby/1.6/cgi.rb:905:in `initialize_query' from D:/ruby/lib/ruby/1.6/cgi.rb:1871:in `initialize' from D:\HomePage\cgi-bin\ruby\getfile.rb:4:in `new' from D:\HomePage\cgi-bin\ruby\getfile.rb:4 <html>

SendFile CGI

<cgi> #!d:\ruby\bin\ruby.exe require "cgi" cgi = CGI.new inputdata = cgi["senddata"] inputdata[0].read lp = inputdata[0].local_path of = inputdata[0].original_filename ct = inputdata[0].content_type print "Content-type: text/html\n\n" print "" print lp + "\n" print of + "\n" print ct + "\n" print ""