jQuery 使用 Wistia 上传文件 API
jQuery File Upload with Wistia API
我有一个带有 jQuery 文件上传的演示页面,目前允许通过 PHP.
将视频文件上传到虚拟主机
代码:
<?
// A list of permitted file extensions
$allowed = array('mov', 'mp4', 'avi');
if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
if(!in_array(strtolower($extension), $allowed)){
echo '{"status":"error"}';
exit;
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
echo '{"status":"success"}';
exit;
}
}
echo '{"status":"error"}';
exit;
?>
我需要这个演示才能完全通过 API 而不是上传目录将视频文件上传到我的 Wistia 画廊。
upload.php 到 Wistia API 的工作片段 url:
<?
$data = array(
'api_password' => '[password]',
'project_id' => '[project_id]',
'url' => '[video_url]'
);
$wistia = curl_init('https://upload.wistia.com');
curl_setopt_array($wistia, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => http_build_query($data)
));
// Send the request
$wistia_request = curl_exec($wistia);
?>
但是,更改这些值并在我的表单中使用它不起作用:
$data = array(
'api_password' => '[password]',
'project_id' => '[project_id]',
'file' => '@' . $_FILES['upl']['name']
);
如您所见,我需要指导和帮助。非常感谢任何提示。
这里是这个项目的一些文档:
如果您打算直接上传文件,则没有理由移动上传的文件。您可以直接使用 tmp 文件。
$data= [
'file' => '@' . $_FILES['upl']['tmp_name']
]
下一个问题是您现在正在上传 2 个视频。 1 从用户计算机到您的服务器,然后从您的服务器到 Wistia。
因此,与其让用户等待 2 个上传,不如将第二个上传移到后台任务中。
已解决!
$data = [
'file' => "@{$_FILES['upl']['tmp_name']};filename={$_FILES['upl']['name']};type={$_FILES['upl']['type']}"
]
我有一个带有 jQuery 文件上传的演示页面,目前允许通过 PHP.
将视频文件上传到虚拟主机代码:
<?
// A list of permitted file extensions
$allowed = array('mov', 'mp4', 'avi');
if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
$extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
if(!in_array(strtolower($extension), $allowed)){
echo '{"status":"error"}';
exit;
}
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
echo '{"status":"success"}';
exit;
}
}
echo '{"status":"error"}';
exit;
?>
我需要这个演示才能完全通过 API 而不是上传目录将视频文件上传到我的 Wistia 画廊。
upload.php 到 Wistia API 的工作片段 url:
<?
$data = array(
'api_password' => '[password]',
'project_id' => '[project_id]',
'url' => '[video_url]'
);
$wistia = curl_init('https://upload.wistia.com');
curl_setopt_array($wistia, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_POSTFIELDS => http_build_query($data)
));
// Send the request
$wistia_request = curl_exec($wistia);
?>
但是,更改这些值并在我的表单中使用它不起作用:
$data = array(
'api_password' => '[password]',
'project_id' => '[project_id]',
'file' => '@' . $_FILES['upl']['name']
);
如您所见,我需要指导和帮助。非常感谢任何提示。
这里是这个项目的一些文档:
如果您打算直接上传文件,则没有理由移动上传的文件。您可以直接使用 tmp 文件。
$data= [
'file' => '@' . $_FILES['upl']['tmp_name']
]
下一个问题是您现在正在上传 2 个视频。 1 从用户计算机到您的服务器,然后从您的服务器到 Wistia。 因此,与其让用户等待 2 个上传,不如将第二个上传移到后台任务中。
已解决!
$data = [
'file' => "@{$_FILES['upl']['tmp_name']};filename={$_FILES['upl']['name']};type={$_FILES['upl']['type']}"
]