HbuilderX上传手机视频

项目需要上传视频,一开始使用Form表单直接选择视频进行上传,但是后来出现一些不知道是错误,所以改用直接调用手机的摄像头进行摄像和选择手机中的视频。

function  ChooseVideo() {
//选择录像还是选择手机的中的视频
if (mui.os.plus) {
	var a = [{ 
		title: "录像"
	}, {
		title: "从手机视频选择"
	}];
	plus.nativeUI.actionSheet({
		title: "修改企业视频",
		cancel: "取消",
		buttons: a
	}, function(b) {
		switch (b.index) {
			case 0:
				break;
			case 1:
				StartRecording();
				break;
			case 2:
				galleryVideo();
				break;
			default:
				break
		}
	})
}}

                                       

function StartRecording() { //录像
var c = plus.camera.getCamera();
c.startVideoCapture(function(e) {
	plus.io.resolveLocalFileSystemURL(e, function(entry) {
		var s = entry.toLocalURL() + "?version=" + new Date().getTime();
		Video = s;
		$("#video").empty();
		$("#video").append('');
		$("#video").append(
			''
		);

	}, function(e) {
		console.log("读取录像文件错误:" + e.message);
	});
}, function(s) {
	console.log("error" + s);
}, {
	filename: "_doc/head.mp4"
})}

function galleryVideo() {

plus.gallery.pick(function(a) {
	plus.io.resolveLocalFileSystemURL(a, function(entry) {

		plus.io.resolveLocalFileSystemURL("_doc/", function(root) {

			root.getFile("head.mp4", {}, function(file) {

				//文件已存在
				file.remove(function() {

					entry.copyTo(root, 'head.mp4', function(e) {
							var e = e.fullPath + "?version=" + new Date().getTime();
							Video = e;


							$("#video").empty();
							$("#video").append(
								'');
							$("#video").append(
								''
							);
						},
						function(e) {
							console.log('copy image fail:' + e.message);
						});
				}, function() {
					console.log("delete image fail:" + e.message);
				});
			}, function() {
				//文件不存在
				entry.copyTo(root, 'head.mp4', function(e) {
						Video = e;
						$("#video").empty();
						$("#video").append('');
						$("#video").append(
							''
						);
					},
					function(e) {
						console.log('copy image fail:' + e.message);
					});
			});
		}, function(e) {
			console.log("get _www folder fail");
		})
	}, function(e) {
		console.log("读取文件错误:" + e.message);
	});
}, function(a) {}, {
	filter: "video"
})};

是直接录像,录好之后,直接添加在界面中,让其查看。而选择手机的视频,则如下图:

选择好视频之后,也是直接添加在界面中,让其点击播放。然后就是上传到后台
///
/// 使用手机上传视频
///
///

     public ActionResult View_UploadEnterpriseVideo()
    {


        string VideoPath = "";
        //执行新增存储过程,得到返回结果

        try
        {

            var UploadFile = Request.Files["UploadFile"];
            if (UploadFile != null)
            {
                //文件类型 后缀
                string fileExtension = Path.GetExtension(UploadFile.FileName);
                //不包含文件扩展名的名称 不带后缀
                //  string fileName = Path.GetFileNameWithoutExtension(Files[0].FileName);
                //原始文件名称
                //  string oldFileName = Files[0].FileName;
                //文件名称,添加时间字符串,避免文件名称相同 
                string fileName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + fileExtension;
                if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + "Upload//Videos//") == false)
                {
                    Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + "Upload//Videos//");
                }
                //保存文件的路径
                //  string filePath = Server.MapPath("~/Document/Temp/") + fileName;
                string LocalPath = AppDomain.CurrentDomain.BaseDirectory + "Upload//Videos//" + fileName;


                //保存文件
                UploadFile.SaveAs(LocalPath);



                VideoPath = "//Upload//Videos//" + fileName;
            }
            else
            {
                VideoPath = "";
            }
        }
        catch
        {
            VideoPath = "";


        }

        return Json(VideoPath, JsonRequestBehavior.AllowGet);
    }

HbuilderX上传手机视频_第1张图片

HbuilderX上传手机视频_第2张图片

HbuilderX上传手机视频_第3张图片

上传成功之后,返回上传的路径,返回前台,进行其他操作。
一开始觉得很难,后来发现上传视频和上传图片也差不多,所以就慢慢进行摸索,网上找了许多的资料都没有相同的例子,所以找已经做过相同功能的人进行学习。

你可能感兴趣的:(HbuilderX上传视频,C#)