当前位置: 首页 > 知识库问答 >
问题:

Html视频上传发送到一个PHP文件使用XMLHttpRequest

易招
2023-03-14

这里有一个非常简单的问题,我今天遇到了,这让我非常沮丧:假设我正在上传一个视频文件,通过超文本标记语言'选择文件'输入,我有一个提交按钮,它调用一个点击java脚本函数,将视频发送到一个PHP将有关视频的数据归档并返回到原始页面,(简单的方法如echo$_FILES[$myvideo oupload]['name'])全部通过XMLhttp pRequest()。

这有可能吗?

就像现在一样,视频根本没有通过我的ajax函数传递到php文件。document.getElementByID(“东西”)适用于视频文件吗?还是更多关于我应该如何格式化var在发送(var)?关于通过XMLHttpRequest()传递文件主题的任何想法或知识都会很棒。

下面是我在js中注释掉的不太棒的代码。希望这有帮助。

<html>
<head>

<link href="jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>


<script language="JavaScript" type="text/javascript">

function file_upload(){
    var hr = new XMLHttpRequest();
    var url = "vidcon.php";

    if(document.getElementById('preset_mp4').checked) {
        pr = document.getElementById("preset_mp4").value;
    }else if(document.getElementById('preset_ogg').checked) {
    pr = document.getElementById("preset_ogg").value;
    }else if(document.getElementById('preset_mov').checked) {
    pr = document.getElementById("preset_mov").value;
    }else if(document.getElementById('preset_wmv').checked) {
    pr = document.getElementById("preset_wmv").value;
    }else if(document.getElementById('preset_3gp').checked) {
        pr = document.getElementById("preset_3gp").value;
}

    //var fd = new FormData();
    //fd.append('uploadedfile', document.getElementByID("uploadedfile").files[0]);
    var vars = "preset="+pr;
    hr.open("POST", url, true);
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    hr.onreadystatechange = function() {
        if(hr.readyState == 4 && hr.status == 200) {
                var return_data = hr.response;
        document.getElementById("status").innerHTML = return_data;
                }
}

hr.send(vars);
document.getElementById("status").innerHTML = "processing...";
}
</script>
</head>

<body>
<input type="hidden"/>
<form enctype="multipart/form-data" action="" method="POST">
Choose pload:<br> <input id="uploadedfile" name="uploadedfile" type="file" /><br />
</form>
Select Output Format for Conversion (changes will be made to conversion settings) <br>
<div class="field form-inline radio">
<input id="preset_mp4" name="preset" type="radio" value="mp4">mp4<br>
<input id="preset_ogg" name="preset" type="radio" value="ogg">ogg<br>
<input id="preset_mov" name="preset" type="radio" value="mov">mov<br>
<input id="preset_wmv" name="preset" type="radio" value="wmv">wmv<br>
<input id="preset_3gp" name="preset" type="radio" value="3gp">3gp<br>
</div>
<input type="submit" value="Upload File" onClick="javascript:file_upload();"/>
<div id="status"></div>
</body>

共有1个答案

席波娃
2023-03-14

您需要使用FormData对象通过ajax上传文件。差不多

var fd = new FormData();
fd.append('preset', pr);
fd.append('videofile', document.getElementByID("videofileinputid").files[0]);
hr.open("POST", url, true); 
hr.onreadystatechange = function() { 
    if(hr.readyState == 4 && hr.status == 200) { 
        var return_data = hr.response; 
        document.getElementById("status").innerHTML = return_data; 
    } 
} 
hr.send(fd); 
document.getElementById("status").innerHTML = "processing..."; 

请注意,并非所有的浏览器都支持FormData对象,但它们都是模拟ajax文件上传的js库。

 类似资料:
  • 我想上传视频文件使用php和html表单,php代码和错误如下。 除了视频(.mp4、.flv、.avi)外,我可以上传几乎任何其他类型的文件(图像、zip、文本等)。 savevideo.php: 错误: 我使用了相同的代码(带有图像属性)进行图像上传,并且工作得很好。但是当上传视频时,这给了我很多错误,有些被纠正了。现在我无法将表单中的post数据输入到savevideo.php(我检查了第7

  • 我有一个YouTube频道。我想为我的网站添加新功能: 用户使用其google帐户进行身份验证。 用户创建自己的视频播客(使用此小部件),并将其上载到自己的youtube帐户。 之后,我使用YouTube API将用户视频移动到我的频道 有没有可能允许一些用户在我的频道上传他们账户的视频?也许用户可以通过Google Plus做到这一点? 附注:我看过一些文章

  • 问题内容: 是的,这是一个冗长的问题,涉及很多细节… 所以,我的问题是:如何将分段上传到Vimeo? 对于想要在自己的计算机上进行复制和调试的任何人: 这是您需要的东西: 我的代码在这里。 包括在此处找到的抄写员库 拥有至少大于10 MB的有效视频文件(mp4),并将其放在目录中,或更改该代码以指向您所在的位置。 而已!谢谢你的协助! 重大更新: 我在此处的代码中为Vimeo保留了有效的API密钥

  • 我正试图用PHP上传一个视频到Youtube。我用的是Youtube API v3,我用的是最新的谷歌API PHP客户端库的源代码。< br >我使用< br > https://code.google.com/p/google-api-php-client/上给出的示例代码来执行身份验证。身份验证顺利通过,但当我尝试上传视频时,我得到< code > Google _ service exce

  • 本文向大家介绍用php将文件上传到另一个php服务器,包括了用php将文件上传到另一个php服务器的使用技巧和注意事项,需要的朋友参考一下 fopen,fread和fwrite函数可用于打开文件流,读取数据流并将该数据分别写入文件。 文件资源不一定需要指向本地计算机本身上的某个位置。 以下是将文件从本地服务器传输到ftp服务器的示例- 该图像需要传输到FTP服务器。因此,服务器以写模式打开,并且图

  • 问题内容: 我想将文件上传到给定的文件夹。 错误是: 注意:未定义的变量:第3行的C:\ wamp \ www \ sdg \ import \ ips.php中的HTTP_POST_FILES 问题答案: 以下是一种上传文件的方法,还有许多其他方法。 正如@nordenheim所说,自PHP 4.1.0起已弃用,因此不建议使用。 PHP代码(upload.php) HTML代码启动功能 希望这可