【发布时间】:2020-11-25 03:52:53
【问题描述】:
当文件名包含似乎是百分比编码的字符时,我在处理 Ruby 中的文件上传时遇到了问题。
示例文件名:Test %AF.txt
样本表格
<form id="upload" enctype="multipart/form-data"
action="/object/upload" accept-charset="UTF-8" method="post">
<label for="file">File:</label>
<input type="file" name="file" id="file">
</form>
处理上传
puts params[:file].original_filename
puts params[:file].tempfile
puts params[:file].headers
样本输出
Test �.jpg
#<File:0x00005618f8a3e4d8>
Content-Disposition: form-data; name="file"; filename="Test %AF.jpg"
Content-Type: image/jpeg
问题总结
params[:file].original_filename 不能取消编码以恢复“%AF”字符串。
【问题讨论】: