Ruby 网络服务:文件上传、Servlet 运行与 HTTP 客户端实现
1. 文件上传处理
在处理文件上传时,我们可以使用 CGI 脚本。以下是一个简单的 CGI 脚本示例:
cgi.out( ) do
cgi.html( ) do
cgi.head{ cgi.title{'Upload Form'} } + cgi.body( ) { buf }
end
end
exit 0
这个脚本会为用户呈现一个表单,让他们从本地系统选择文件进行上传。当表单以 POST 方式提交时,CGI 会接受上传的文件数据,并将其作为 CGI 参数存储。上传的文件通过 HTML 表单元素的名称(这里是 file_name )来标识。
如果文件大小超过 10KB,它会被写入临时文件, CGI[:file_name] 的内容将是一个 Tempfile 对象;如果文件较小,则会直接以 StringIO 对象的形式保存在内存中。这两种对象都有一些普通 Tempfile 或 StringIO 对象没有的方法,其中最有用的是 original_filename 、 content_type 和 read 。
- original_filename :返回上传文件在用户计算机上显示的文件名。
超级会员免费看
订阅专栏 解锁全文
341

被折叠的 条评论
为什么被折叠?



