0

単純なファイルアップロードページを実行しようとしていますが、「nilをハッシュに変換できません」(ファイル:request.rbの場所:マージ行:221)が表示され続けます。これはWindowsとUbuntuで発生します。Ruby 1.9.3、Sinatra1.3.2。また、POSTデータは明らかに空であり、ファイルのサイズに関係なく、リクエストをアップロードしようとすると、常に70k未満になります。

ハンドラーはあまり実行していません。

get "/upload" do
  erb :upload
end      


post '/upload' do
  tempfile = params['file'][:tempfile]
  filename = params['file'][:filename]
  File.copy(tempfile.path, "./files/#{filename}")
  redirect '/'
end

フォームは次のようになります。

   <div id="bodydiv">
    <h1>file upload page</h1>
    File to upload:

    <form method="post" action="" enctype="multipart/form-data">
        <input type="file" id="file" />
        <input type="hidden" value="tokenstuff" id="hiddenThing" />
        <input type="submit" value="upload" id="commit" />
    </form>

   </div>
4

1 に答える 1

2

nameファイル入力に属性を追加する必要があります。
理由はわかりませんが、誰かがこれを説明できれば。ありがとう。

于 2012-05-07T14:24:35.513 に答える