
从上面的图像中,我有一个视频文件,当我试图检索视频->时,这些问题只会出现在特定的文件中,->会发生什么可能的问题呢?
我在视频数据后面添加jquery响应:
$("#videoData").append('<video width="75%" class="center-block"
controls autoplay style="max-width: 60em;">
<source style="max-width: 60em;" src="'+path+'" type="video/mp4">
'+response["videoName"]+'</video>');在路径内,视频位置将从开始。(http://website.com/uploads/file.mp4)
我的html是:
<div id="videoData"> </div> 我要存储文件的php是:
$videoPath = '../uploads/course_videos/'.$coursename;
for ($i = 0; $i < count($_FILES['course_video']['name']); $i++) {
$videofilename = $_FILES["course_video"]["name"][$i];
$videofilename = mysqli_real_escape_string($conn,$videofilename);
$targetVideo = $videoPath ."/". $videofilename;
move_uploaded_file($_FILES["course_video"]["tmp_name"][$i], $targetVideo)
}所有文件都在文件夹中正确上传,但我不知道为什么很少有视频不来
我想这个文件可能被破坏了,但是当我再次从服务器下载相同的文件时,当我在我的电脑中播放这个文件时,它工作正常。
感谢你的帮助..。
发布于 2017-04-17 11:43:13
如果您只是直接上传视频文件,而不转换或检查它们,您可能会面临安全问题。
同时,由于编解码程序的多样性,无法保证所有上传的文件都能播放。我建议对上传的文件执行检查,将其作为视频进行验证,然后进行转换。
另一个可能会发生这种情况的原因,正如你提到的,在一些文件上,是因为你没有正确地逃避URL。
尝试在返回的URL上使用encodeURIComponent(path)。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent -- encodeURIComponent()函数对统一资源标识符(URI)组件进行编码,方法是将特定字符的每个实例替换为表示字符的UTF-8编码的一个、两个、三个或四个转义序列(由两个“代理”字符组成的字符仅为四个转义序列)。
另外,这可能是服务器端的问题。在服务器端正确转义文件名也很重要。
在文件上传和播放视频时,可能会出现许多可能的问题。
https://stackoverflow.com/questions/43450638
复制相似问题