今天解决一个调用微信永久素材上传视频的问题,在网上查了很久,上传视频的接口写的都不一样而且到处复制,感觉很乱,于是在做完case之后做了一个整理,希望能够帮助到你们.
涉及到如何调用微信永久素材上传视频以及上传后如何通过mediaid和获取永久素材接口得到该视频对应的url的,然后保存至本地,然后通过调用微信的url直接读取视频,拿默认回复中的视频来举例。(YII1框架)
首先:
前端页面中一个上传按钮,在上传了之后通过js回调将视频文件先上传到服务器上对应的文件夹中,这个没什么好说的。
jQuery('#video_upload').dmUploader({
url: '<?php echo Yii::app()->createAbsoluteUrl('Manager/DefaultMessages/videoUpload'); ?>',
dataType : 'json',
fileName : 'upload',
allowedTypes : 'video/*',
maxFileSize : 10485760,
onUploadSuccess: function(id, data){
if(data.result == 'success'){
videoUpload.find('video').attr('src',data.url);
}else{
alert(data.result);
}
},
onFileSizeError: function(file){
alert('<?php echo Yii::t("manager", "Unsupported file size!"); ?>')
},
onFileTypeError: function(file){
alert('<?php echo Yii::t("manager", "Unsupported file type!"); ?>')
}
});
这个是Controller中上传video的方法
public function actionVideoUpload(){
$fileName = $_FILES['upload']['name'];
$extensions = array('.mp4');
$extensionName = '';
foreach ($extensions as $extension) {
if(stripo