Asp.net MVC4 中的视频上传和视频截图,以及删除上传文件
来源:互联网 发布:如何安装vb 编辑:程序博客网 时间:2024/06/05 10:02
这两天在做一个视频上传的同时,给视频截张图。百度搜索了很多,总结了一个适合自己。废话不说了,如下:
Controller中的代码:
<pre name="code" class="csharp">//视频上传public ActionResult videoAdd() { return View(); } public ActionResult MultiUpload(HttpPostedFileBase files) { if (files != null) { if (files.ContentLength > 0) { string filePath = files.FileName; //获得文件的完整路径名 //以年月日时分秒-毫秒将文件重新命名 string filename2 = DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss-fffffff"); string filename = filename2 + filePath.Substring(filePath.LastIndexOf('.'), filePath.Length - filePath.LastIndexOf('.')); //设定上传路径(绝对路径) string upPath = Server.MapPath("~/Uploads/") + filename; //文件上传到绝对路径 files.SaveAs(upPath); //设定数据库的存储路径 string savePath = "\\Uploads\\" + filename; CreateImg(upPath,filename2); //下面是把相对路径保存到数据库表中 Information info = new Information(); files = Request.Files["files"]; info.title = files.FileName; info.content = savePath; db.Information.Add(info); db.SaveChanges(); } } return RedirectToAction("videoIndex"); }//视频截图private string CreateImg(string fileName,string filename2) { string ffmpeg = Server.MapPath("~/Uploads/ffmpeg.exe"); string vFileName = fileName; string FlvImgSize = "240x180"; System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; string flv_img = filename2 + ".png"; string flv_img_p = System.Web.HttpContext.Current.Server.MapPath("~/Uploads/" + flv_img); startInfo.Arguments = " -i " + vFileName + " -y -f image2 -ss 2 -vframes 1 -s " + FlvImgSize + " " + flv_img_p; try { System.Diagnostics.Process.Start(startInfo); } catch { return ""; } if (System.IO.File.Exists(flv_img_p)) { return flv_img; } return ""; }//删除上传文件public ActionResult videoDelete(FormCollection from) { string str = from["select"]; string[] strDelete = str.Split(','); foreach (var i in strDelete) { if (i != "false") { decimal id = decimal.Parse(i); Informationinfo = db.Information.Find(id); string videoPath = Server.MapPath(info.content);//转换物理路径(视频) if (System.IO.File.Exists(videoPath))//判断文件是否存在 { System.IO.File.Delete(videoPath);//执行IO文件删除视频,需引入命名空间System.IO; } string[] img = info.content.Split('.');//截取字符串 string image=img[0]+".png"; //图片地址 string imgPath = Server.MapPath(image); if (System.IO.File.Exists(imgPath))//判断文件是否存在 { System.IO.File.Delete(imgPath);//执行IO文件删除图片,需引入命名空间System.IO; } db.LRS_INFO_MGT.Remove(info); } } db.SaveChanges(); return Content("<script>alert('删除成功。');window.location.href='"); }
上面的删除图片,因为数据库表中存放的是视频相对路径,没有图片的相对路径。所以删除图片时,先要找到他的存放路径。
在截图时,我把图片的名称(不包括扩展名)设为和视频名称一样,并且存放在同一个文件夹下,所以可以通过截取 视频的相对路径来得到图片的相对路径。
这样就可以删除截取图片
1 0
- Asp.net MVC4 中的视频上传和视频截图,以及删除上传文件
- C#(asp.net)上传视频截图
- java 上传 视频 截图
- java视频上传截图
- C#(asp.net)上传视频转换为flv格式并给视频截图代码
- C#(asp.net)上传视频转换为flv格式并给视频截图代码
- ASP.NET MVC4上传文件,并将excel内容导入数据库,导入后删除文件
- Asp.net上传视频到YouTube
- ASP视频上传
- java 上传文件以及各种视频图片!
- java 上传文件以及各种视频图片!
- asp.net中的上传文件
- MVC4.0 使用WebUploader上传文件实例,支持大视频上传
- 上传视频和视频转换
- ASP.NET 上传文件以及点击下载
- 利用WebUploader实现大文件上传和视频上传
- ASP.NET截取上传视频,swf文件第一帧作为预览图片
- Asp.net文件上传 重命名 以及自动创建上传目录
- Leetcode:Sudoku Solver (python)
- coco2d-x 读取csv数据表
- repeat帮定删除按钮事件,并且生成去人删除提示
- iOS8.0+ 第三方输入法多次发送UIKeyboard相关的通知
- 遍历Map的四种方法
- Asp.net MVC4 中的视频上传和视频截图,以及删除上传文件
- 一些有用的mysql语句(不断积累更新)
- jquery easyui datagrid 获取Checked选择行(勾选行)数据
- linux下创建eclipse的桌面快捷方式
- Leetcode Permutations II 最简单的解法
- dbms_scheduler介绍
- 栈的c++实现
- JS正则表达式中特殊字符的含义
- css_圆角的制作