因此,我正在研究一个脚本,该脚本将通过RESTful界面将视频上传到服务器。该文档告诉我,我应该将数据(包括二进制视频文件)作为POST请求的一部分。我知道如何设置我的POST变量,但我不知道如何执行二进制数据。该API说我应该有一个名为“媒体”的字段,它应该包含原始视频数据。在PHP中使用RESTful上传文件
假设我有一个名为'video1.mp4'的视频,我想将其内容包含在'media'POST变量中。我怎样才能做到这一点?
谢谢!
因此,我正在研究一个脚本,该脚本将通过RESTful界面将视频上传到服务器。该文档告诉我,我应该将数据(包括二进制视频文件)作为POST请求的一部分。我知道如何设置我的POST变量,但我不知道如何执行二进制数据。该API说我应该有一个名为“媒体”的字段,它应该包含原始视频数据。在PHP中使用RESTful上传文件
假设我有一个名为'video1.mp4'的视频,我想将其内容包含在'media'POST变量中。我怎样才能做到这一点?
谢谢!
我不知道你是如何与API沟通的,但我会假设cURL为这个例子。要发送的文件,您可以使用CURLOPT_POSTFIELDS
选项:
CURLOPT_POSTFIELDS
完整数据的HTTP “POST” 操作来发布。要发布文件,请使用@预先指定文件名并使用完整路径。这可以作为urlencoded字符串传递,如'para1 = val1 & para2 = val2 & ...'或作为字段名称作为键和字段数据作为值的数组。如果value是一个数组,则Content-Type头将被设置为multipart/form-data。
用一个例子进一步下跌的网页上:
$ch = curl_init();
$data = array('name' => 'Foo', 'media' => '@/home/user/test.png');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
谢谢Deceze!这正是我所期待的! – 2010-07-07 06:55:30