由于现在使用rest接口之后,php开发的前端网站中,使用curl上传文件的场景现在越来越多,如何调用rest接口上传文件,就变得又不要仔细研究一下。
之前吧,我们在curl中上传一个文件,会使用一个@+全路径的方式发送curl的请求。
curl_setopt(ch, CURLOPT_POSTFIELDS,[
'file' => '@'.realpath('idongjia.apk'),
]);
不过,这种情况使用起来并不那么友好,有时候需要MIME的信息错误,导致上传文件失败,或者调用接口失败。
php5.5开始引入了一个新的lib——CURLFILE类,CURLFILE的构造函数指向一个file,然后,最让人叫好的是它可以制定详细的MIME类型等可能出现在multipart/form-data数据表单中的额附件信息,PHP 推荐使用 CURLFile 替代旧的@语法,而 PHP 5.6 直接只支持 CURLFile 方法。
curl_setopt(ch, CURLOPT_POSTFIELDS, [
'file' => new CURLFile(realpath('idongjia.apk')),
]);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。