我对curl的“--upload-file”参数有点困惑。该手册页只是声明它“将指定的本地文件传输到远程URL”。
这是邮寄申请吗?如果不是,那么它是什么以及在实际的HTML5客户端应用程序中它会是什么样子?
答案 0 :(得分:12)
这是一个PUT请求。
来自manual(-T是 - 用于--upload-file的单点划线):
HTTP 将stdin上的所有数据上传到指定的HTTP站点:
function symmetricalDiff(a, b){ var common = a.concat(b) .filter(function(d, index, inputArray){ return inputArray.indexOf(d) != index }); return (common.length==0) ? a.concat(b).sort() : a.concat(b).filter(function(d){ return !common.includes(d)}).sort(); } console.log(symmetricalDiff([1,2,3], [2,3,4])); // [1, 4] console.log(symmetricalDiff([1,4], [2,3])); // [1, 4, 2, 3]
请注意,必须先将HTTP服务器配置为接受PUT,然后才能成功完成此操作。 有关进行HTTP数据上载的其他方法,请参阅下面的POST部分。
来自curl Documentation的更多信息:
4.4文件上传POST
早在1995年底,他们就定义了另一种发布数据的方法 HTTP。它在RFC 1867中有记录,为什么有时这种方法 称为RFC1867-posting。
此方法主要用于更好地支持文件上传。表单 允许用户上传文件可以像这样编写 HTML:
curl -T - http://www.upload.com/myfile
这清楚地表明即将发送的内容类型是 多部分/格式的数据。
要使用curl发布到此类表单,请输入命令行,如:
curl --form upload = @ localfilename --form press = OK [URL]