我正在尝试做一个简单的文件上传页面,但不断收到“无法将 nil 转换为哈希”(文件:request.rb 位置:合并行:221)。这发生在 Windows 和 Ubuntu 上。红宝石 1.9.3,西纳特拉 1.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>