【发布时间】:2016-02-24 06:30:25
【问题描述】:
我有一个基于 Sinatra 的项目,带有 page,用户可以在其中上传 MP3 文件。
<h2><%= I18n.t(:home_title) %></h2>
<%= I18n.t(:upload_body_text) %>
<form action="/<%= I18n.locale %>/upload" method="post" enctype="multipart/form-data">
<p>
<input type="file" name="song" size="40">
</p>
<div>
<input type="submit" value="<%= I18n.t(:home_submit) %>">
</div>
</form>
上传由这个route处理:
post "/upload" do
File.open('uploads/' + params['song'][:filename], "w") do |f|
f.write(params['song'][:tempfile].read)
end
erb :main
end
文件上传后已损坏:
- Windows Media Player 中 MP3 文件的图像失真。
- 声音已损坏(听起来不对)。
我该如何解决?
【问题讨论】:
-
你是在 Windows 机器上做
File.open吗? -
@muistooshort 是的,Windows 7。
标签: ruby file-upload upload sinatra