0
単純なファイルアップロードページを実行しようとしていますが、「nilをハッシュに変換できません」という問題があります(file:request.rb location: 221)。これは、WindowsとUbuntuで発生します。 Ruby 1.9.3、Sinatra 1.3.2。私も気づいているのは、POSTデータは明らかに空であり、サイズ・ファイルに関係なく、リクエストをアップロードしようとすると、常に70k未満です。Sinatraはマルチパートフォームの投稿でnilをハッシュに変換できません
ハンドラはあまりやっていません。
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
フォームは次のようになります。あなたはあなたのファイル入力にname
属性を追加する必要が
<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>
* facepalm *ありがとうございました。 – Doobi