/// <summary> /// 上传视频文件 /// </summary> /// <returns></returns> public ActionResult UploadVideoFile() { var resultMsg = new ReturnResult(); HttpFileCollectionBase files = Request.Files; if (files.Count == 0) { resultMsg.status = 0; resultMsg.msg = "没有上传的文件"; return Json(resultMsg); } try { string root = HostingEnvironment.MapPath("/Uploads/Video/"); string orginFileName = string.Empty; string fileName = string.Empty; UserModel currentUser = (UserModel)(System.Web.HttpContext.Current.Session["user"]); for (int i = 0; i < files.Count; i++) { var file = files[i]; if (Path.GetExtension(file.FileName).ToLower() != ".mp4") { resultMsg.status = 0; resultMsg.msg = "不是mp4视频文件"; return Json(resultMsg); } string temp_filename = Path.GetFileName(file.FileName); var dir = Path.Combine(root, "temp"); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); string temp_video_file = Path.Combine(dir, temp_filename); //保存文件 if (System.IO.File.Exists(temp_video_file)) System.IO.File.Delete(temp_video_file); file.SaveAs(temp_video_file); orginFileName = file.FileName; fileName = Path.GetFileNameWithoutExtension(temp_video_file); var oss = new OSSFileManager(); string bucket = "hucai-simoo"; string endpoint = "http://gdoss.xstore.ctyun.cn"; string accessKeyId = "6JMTTsEYnXd4h0uMhsIf"; string accessKeySecret = "y5VZsEFB2NTI6uzboijbVymXV6JeNZX5IVhLxeWk"; string ossPath = "mtqvideo/ar/" + DateTime.Now.ToString("yyyyMMdd") + "/" + Path.GetFileName(temp_video_file); var ossRet = oss.UploadFile(bucket, endpoint, accessKeyId, accessKeySecret, temp_video_file, ossPath); if (ossRet == "0") { double x = 1024; var videoPath = "https://hucai-simoo.gdoss.xstore.ctyun.cn/" + ossPath; //获取文件大小 var length = Math.Round(file.ContentLength / x, 2); System.IO.File.Delete(temp_video_file); var videoDal = new VideoDal(); var result = videoDal.AddUploadVideoRecord(fileName, length, videoPath, currentUser.UserId); if (result > 0) { resultMsg.msg = "上传完成"; resultMsg.response = videoPath; } else { resultMsg.status = 0; resultMsg.msg = "视频地址已存在"; } } else { resultMsg.status = 0; resultMsg.msg = ossRet; } } } catch (Exception ex) { resultMsg.status = 0; resultMsg.msg = ex.Message; } return Json(resultMsg); }