【翻译】Video Upload MIME types(视频上传MIME类型)

From [url]http://www.htmlforums.com/php-programming/t-video-upload-mime-types-105680.html[/url]


if(isset($_POST['submit']) && $_POST['submit'] == 'Submit') //if form has been submitted
{
//for now:

if ($_FILES["file"]["error"] > 0)
{
//echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
if ((($_FILES["file"]["type"] == "video/x-msvideo") //.avi
|| ($_FILES["file"]["type"] == "video/quicktime") //quicktime
|| ($_FILES["file"]["type"] == "video/x-ms-asf")
|| ($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "audio/x-ms-wmv")
|| ($_FILES["file"]["type"] == "video/x-ms-wmv")
|| ($_FILES["file"]["type"] == "video/mpeg"))
&& ($_FILES["file"]["size"] < 10000000))
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
if (move_uploaded_file($_FILES["file"]["tmp_name"],"/tmp/".$_FILES["file"]["name"])) {
echo "file moved";
include "putfile.php";
} else {
echo "move failed";
}
} else {
echo "wrong type of file please try again....";
}
}


用以上代码无法上传 .wmv 和 .avi 文件,不知何故?
<think>好的,我现在需要帮助用户解决在TinyMCE 5.10.3中实现本地视频上传功能的问题。首先,用户之前提到过图片上传的实现,现在想扩展到视频上传。我应该先回忆一下TinyMCE的插件机制和文件上传的处理方式。 用户提供的引用内容里提到了powerpaste插件的配置,这可能和粘贴处理有关,但视频上传可能需要不同的方法。我需要确定TinyMCE是否有内置的视频上传支持,或者是否需要使用自定义插件。 首先,检查TinyMCE官方文档。TinyMCE的媒体插件(media plugin)通常用于嵌入视频,但默认可能是通过URL插入。要实现上传本地视频,可能需要配置媒体插件以支持文件上传,或者使用自定义的上传处理器。 然后,考虑到用户之前实现了图片上传,可能使用的是images_upload_url配置选项。同样的方法可能适用于视频,但需要确认TinyMCE是否支持视频文件的上传处理。文档中提到,通过设置images_upload_handler可以处理上传,但可能需要调整允许的文件类型,比如添加video/*的MIME类型。 接下来,需要确保在初始化TinyMCE时,启用媒体插件,并配置上传选项。可能需要设置file_picker_types为'media',并指定file_picker_callback来处理文件选择。此外,验证上传的后端接口是否能够接收视频文件,并返回正确的URL供编辑器插入。 还要注意,视频文件通常较大,可能需要处理上传进度和大小限制。在配置中可能需要添加相关参数,比如images_upload_credentials来支持跨域请求,如果有必要的话。 用户可能遇到的问题包括:视频上传按钮不显示、上传后无法正确插入视频、后端接口未正确处理视频文件等。因此,在回答中需要分步骤说明配置方法,并建议检查文件类型、后端处理以及前端配置是否正确。 最后,生成相关问题,帮助用户进一步优化或解决可能遇到的问题,比如如何限制视频大小、如何显示上传进度等。</think>在TinyMCE 5.10.3中实现本地视频上传功能,需通过以下步骤完成配置: ### 一、基础配置 1. 启用`media`插件并设置文件上传参数 ```javascript tinymce.init({ selector: '#editor', plugins: 'media', toolbar: 'media', // 核心配置参数 images_upload_url: '/upload/video', // 后端接收视频的接口地址 images_upload_handler: function(blobInfo, success, failure) { // 自定义上传处理器 }, file_picker_types: 'media', // 限制文件选择器类型 media_file_types: 'mp4,webm,ogg' // 允许的视频格式[^1] }); ``` ### 二、增强配置(支持本地选择) ```javascript file_picker_callback: function(cb, value, meta) { var input = document.createElement('input'); input.setAttribute('type', 'file'); input.setAttribute('accept', 'video/mp4,video/webm,video/ogg'); input.onchange = function() { var file = this.files[0]; var reader = new FileReader(); reader.onload = function() { var id = 'blobid' + (new Date()).getTime(); var blobCache = tinymce.activeEditor.editorUpload.blobCache; var base64 = reader.result.split(',')[1]; var blobInfo = blobCache.create(id, file, base64); blobCache.add(blobInfo); // 调用上传处理器 cb(blobInfo.blobUri(), { title: file.name }); }; reader.readAsDataURL(file); }; input.click(); } ``` ### 三、后端处理建议 需实现以下响应格式: ```json { "location": "/uploaded/videos/example.mp4" } ``` ### 四、注意事项 1. 需要添加跨域头`Access-Control-Allow-Origin`[^1] 2. 视频大小限制可通过`images_upload_max_size`配置 3. 建议添加上传进度提示(需配合XMLHttpRequest实现)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值