我有一个带有jQuery File Upload的演示页面,该页面当前允许通过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的工作片段:

<?
$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']
);


如您所见,我需要指导和帮助。任何提示都非常感谢。

这是该项目的一些文档:

http://wistia.com/doc/upload-api

https://github.com/blueimp/jQuery-File-Upload

最佳答案

解决了!

$data = [
   'file' => "@{$_FILES['upl']['tmp_name']};filename={$_FILES['upl']['name']};type={$_FILES['upl']['type']}"
]

关于javascript - 使用Wistia API上传jQuery文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29919345/

10-12 04:21