Tp3如何实现本地视频文件上传到七牛云

对于七牛云的使用,估计有些刚接触开发的技术人员还不太清楚,那么更不要说如何实现本地视频上传到七牛云转储了,其实这个技术并没有想象中的那么困难,下面就来跟大家详细介绍一下流程:

  1、首先我们要先去寻找七牛云的SDK网址,打开后直接下载就行了;

  2、下载完成之后我们把它放在tp框架的./ThinkPHP/Extend/Vendor/目录下;

  3、完成之后,前期的准备工作就完成了,接下来就是自己上手写代码了:

  首先肯定是先在模板部分建立一个form表单:

  *视频上传:

  我们就提交到News控制器里的do_add这个方法里边:

  public function do_add(){

  if(!empty($_FILES[‘video‘][‘name‘])){ //首先判断数据是否为空

  import(‘ORG.Net.UploadFile‘);

  $upload = new UploadFile();// 实例化上传类

  $upload->maxSize = 31457281;// 设置附件上传大小

  $upload->allowExts = array(‘mp4‘);// 设置附件上传类型 如果是MP3的话改为mp3 就ok

  $upload->savePath = ‘./Public/Uploads/video/‘;// 设置附件上传目录(先把文件上传到本地服务器上)

  //$upload->saveName = I(‘uid‘).‘_‘.time();// 设置附件上传目录

  if(!$upload->upload()) {// 上传错误提示错误信息

  $this->error($upload->getErrorMsg());

  }else{// 上传成功 获取上传文件信息

  $info = $upload->getUploadFileInfo();

  }

  //导入类自动加载器

  require_once‘./ThinkPHP/Extend/Vendor/qiniusdk/autoload.php‘;

  //七牛的钥密

  $accessKey = ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx‘;

  $secretKey = ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx‘;

  $bucket = ‘haha‘; //这个是你上传的空间

  $savepath = "http://www.xxxxxxxxxx.com/";//这是你七牛的路径

  $auth = new Auth($accessKey, $secretKey);

  //可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当间

  $mediaid = time().uniqid();

  $savekey = \Qiniu\base64_urlSafeEncode(haha:‘.$mediaid.‘.mp4‘);

  $fops = $fops.‘|saveas/‘.$savekey;

  $policy = array(

  ‘persistentOps‘ => $fops,

  );

  $uptoken = $auth->uploadToken($bucket, null, 3600, $policy);

  //上传文件的本地路径

  $filePath = ‘./Public/Uploads/video/‘.$info[0][‘savename‘];

  $key = $mediaid.‘.mp4‘;

  $uploadMgr = new UploadManager();

  list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath);

  if ($err !== null) {

  $dataname["info"]="error";

  } else {

  $savename=$ret[‘key‘];

  $file = $savepath.$savename;

  $dataname["info"]=$file;

  }

  }else{

  $dataname["info"]="error";

  }

  unlink($filePath);//上传成功后删除本地服务器上的文件

  $audio=D("audio");

  $wh[‘aid‘]=I("aid");

  $data[‘video_path‘]=$file;

  $re=$audio->add($data); //路径保存到数据表

  if($re){

  success(‘添加成功‘,U(‘News/newslist‘));

  }else{

  error("添加失败");

  }

  //echo json_encode($dataname); //返回数据结构自行封装

  }

  到这里运行之后还是出错 找不到Auth这个类,摸索了一会儿才发现少了命名空间,加到控制器顶部即可:

  use Qiniu\Storage\UploadManager;

  use Qiniu\Auth;

  运行后正常。

  至此已经上传完毕,上传完成到自己的七牛看一看就OK!需要跟大家说明的是MP3和MP4类似,只需要把代码中的MP4换为MP3即可,那么现在大家可以开始动手尝试一下了,如果还存在疑问的话,可以留言,我们收到后会第一时间回复。本文由专业的郑州app开发公司燚轩科技整理发表,如需转载请注明出处。

原文地址:http://blog.51cto.com/13686158/2139879

时间: 2024-07-31 07:25:49

Tp3如何实现本地视频文件上传到七牛云的相关文章

.Net Core实现将文件上传到七牛云存储

功能:将图片上传到七牛云存储 准备工作 注册七牛账号,提交实名认证(基本上1天内内审核通过) 登录七牛后台->对象存储->新建空间 (基本概念:https://developer.qiniu.com/kodo/manual/3978/the-basic-concept) 新建空间后会有免费域名可以使用.但是:测试域名,限总流量,限单 IP 访问频率,限速,仅供测试使用,不能用于自定义域名的 CNAME.建议还是使用自己的已经ICP备案的域名 CDN加速域名(自己的ICP备案的域名)提交后有个处

Tp3.1 文件上传到七牛云

TP3.1 中不支持Composer 就无法用composer 安装 下载历史的SDK https://github.com/qiniu/php-sdk/releases/tag/v7.0.8 下载下来放到 Think 目录下的Vendor下 进入代码 HTML的代码 <form id="upload" method='post' action="file" enctype="multipart/form-data"> <inp

将本地PST文件上传到Office 365

最近有几家用户向我询问,本地的PST如何不通过终端的方式,让IT管理员通过后台上传到Office 365指定的用户邮箱.关于这个问题我今天针对 Office 365国际版进行了相关测试,以下是我测试的流程,希望对大家有所帮助. 1. 登录Office 365管理中心,定位到:用户--数据迁移,单击:上载PST文件 2. 在打开的PST上传向导中,点击:添加--上传电子邮件(PST文件),如下图: 3. 在通过网络上载文件对话框中,单击:显示网络上传SAS URL,并复制此URL 4. 点击第2步

在ASP.NET中实现图片、视频文件上传方式

一.图片 1.在前端用<asp:FileUpload ID="UpImgName" runat="server"/>控件 2.在后台.cs中写上 protected void btnSubmit_Click(object sender,EventArgs e) { string strImgPath=string.Empty; string strDateTime=dateTime.Now.Tostring("yyyyMMddhhmmss&qu

PHP实现视频文件上传完整实例

PHP实现视频文件上传完整实例 转载 这篇文章主要介绍了PHP实现视频文件上传的技巧,包含了PHP配置信息的设计及大文件的处理,需要的朋友可以参考下 本文以一个完整实例的形式实现了视频文件上传的功能.虽然是比较基础的应用,仍有一定的参考价值.分享给大家供大家参考之用.具体方法如下: 首先,对PHP来说视频也属于文件,我们利用这个道理,可以通过与上传普通文件类似的方式实现上传PHP视频文件.不同的是视频文件一般较大,上传时间长,而php配置文件也对上传文件的大小有限制.如果需要更好地用PHP实现文

图片上传到七牛云

必须要传一个参数类型为 MultipartFile 的 第一步:引入相关配置文件和工具类并导入依赖: qiniu.properties: qiniu.accessKey=xxxxxxxxxxxxx #公钥 qiniu.secretKey=yyyyyyyyyyyyy #密钥 qiniu.bucket=saas #存储空间名称 qiniu.rtValue=xxxxxxx #域名 公钥密钥在这里找 域名这里找: import com.google.gson.Gson; import com.qiniu

Spring MVC 之文件上传(七)

SpringMVC同样使用了apache的文件上传组件.所以需要引入以下包: apache-commons-fileupload.jar apache-commons-io.jar 在springAnnotation-servlet.xml中配置 1 <!-- 定义文件上传解析器 --> 2 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.Common

kindeditor 本地图片文件上传

一.文件或图片上传 try { if (!is_dir($this->uploadPath)) { throw new InvalidArgumentException('files.ourats.com还没搭建?'); } if (!is_writable($this->uploadPath)) { throw new InvalidArgumentException('上传文件夹不可写'); } // 如果该公司目录不存在,则创建之 $ns = new Zend_Session_Names

文件流数组上传到七牛云

首先要注册七牛云,申请个空间,获得密钥.等东西,引入官方sdk包,然后再开发文档中找到代码copy进去就可以了. 因为非常简单,我就直接弄上代码了. 1 package com.qianmo.foru.bean.request; 2 3 import com.qianmo.core.common.CommonRequest; 4 import org.hibernate.validator.constraints.NotBlank; 5 import org.springframework.we