天天看点

webuploader实现上传视频

webuploader实现上传视频

之前有人让我做一个webuploader上传视频,但是一直没有时间,现在抽出了时间来。来完成以下这个简单的demo

第一步,上传视频和上传 图片有什么区别么?

其实是没有的,因为执行的操作都是上传,所以说我们并不用担心上传的问题。

但是webuploader实际上是限制了你上传的参数(这里指的是限制了你的文件扩展名)

我们找到webuploader中的js参数accept中的extensions

accept: {
 title: 'Images',
 extensions: 'gif,jpg,jpeg,bmp,png',
 mimeTypes: 'image/*'
 }      

这里面我们只需要将gif等后缀改成你需要上传的格式(MP4,AVI等)

这里面改了后我们的后台也要进行修改

[HttpPost]

public ActionResult upload(HttpPostedFileBase file)

{

if (file != null && file.ContentLength > 0)

{

string folderpath = "/UploadFile/";//上传图片的文件夹

if (!Directory.Exists(folderpath))

{

Directory.CreateDirectory(Server.MapPath(folderpath));

}

string ext1 = Path.GetExtension(file.FileName);

if (ext1 != ".mp4" && ext1 != ".rmvb" && ext1 != ".avi" && ext1 != ".flv")//笔者这儿修改了后缀的判断

{

return Json(new { statu = 201, msg = "文件格式不正确!" });

}

else

{

string name = DateTime.Now.ToString("yyyyMMddHHmmssff");

string ext = Path.GetExtension(file.FileName);

string downpath = folderpath + name + ext;

string filepath = Server.MapPath(folderpath) + name + ext;

file.SaveAs(filepath);

return Json(new { statu = 200, src = downpath, id = name });

}

}

else

{

return Json(new { statu = 202, msg = "请上传文件!" });

}

 

}      
<tr>

<td>上传视频</td>

<td>

<div id="upl">上传视频</div>//马上这个会用js实例化

</td>

</tr>

<script>

  var uploader;

    $(function () {

        

        uploader = WebUploader.create({

            auto: true,

            swf: '/Scripts/Uploader.swf',

            server: '@Url.Action("Upload")',//控制器

            pick: '#upl',

                accept: {

                    title: 'Images',

                    extensions: 'mp4,flv,jpeg,bmp,doc,docx,rar,pdf',

                }

          

        })

   });

</script>