c# 删除了generic.xmal文件_layui文件上传,C#上传视频,删除文件

先来看下上传时的效果图

f38d105c307ccdb37f289c671974f5a2.png

实现功能如下

  1. 上传视频功能
  2. 点击播放以及全屏功能(自带)
  3. 删除本地视频功能

开发工具:visual studio

语言:C#

前端框架:layui

目录:

一、 上传视频(前端) 

二、 上传视频(后端)

三、 删除视频(前端) 

四、 删除视频(后端)

一、上传视频(前端)

  1. 引入layui的css文件和js文件

  2. 页面元素代码如下

    主要分为video展示视频区域,上传按钮,删除按钮。

    视频展示区域宽300像素,高200像素,因为有全屏功能,这点区域够用了。

<form class="layui-form" runat="server">    <div class="layui-form-item">        <div class="layui-inline">            <div class="layui-form-item">                <label class="layui-form-label">视频在线看label>                <video src="" controls="controls" id="videoplay" style="width: 300px; height: 200px;">video>            div>        div>    div>    <div class="layui-form-item">        <div class="layui-inline">            <div class="layui-form-item">                <button type="button" class="layui-btn" id="uploadVideo"><i class="layui-icon">i>上传视频button>                <button type="button" class="layui-btn" id="deleteVideo"><i class="layui-icon">i>删除视频button>            div>        div>    div>form>

    3. js代码如下 

layui.use(['upload'], function () {    var upload = layui.upload;//得到 upload 对象    //创建一个上传组件    upload.render({        elem: '#uploadVideo'        , url: '上传视频Demo.aspx?Action=UploadVideo'        , accept: 'video' //视频        , done: function (res) {//上传后的回调            if (res.code == 10000) {                $("#videoplay").attr("src", res.data.src);                layer.msg('上传成功');            } else {                layer.msg('上传失败');            }        }        , error: function () {            //请求异常回调            layer.msg('上传失败');        }    })})

先创建一个upload对象 

然后创建一个上传组件

上传组件中本次用到的参数说明如下

参数说明
elem指向容器选择器,上传视频的按钮
url服务端上传的接口
accept指定允许上传时校验的文件类型,可选值有:images(图片)、file(所有文件)、video(视频)、audio(音频)
done执行上传请求后的回调。返回三个参数,分别为:res(服务端响应信息)、index(当前文件的索引)、upload(重新上传的方法,一般在文件上传失败后使用)
error执行上传请求出现异常的回调(一般为网络异常、URL 404等)。返回两个参数,分别为:index(当前文件的索引)、upload(重新上传的方法)

二、 上传视频(后端)

1. 获取指定虚拟路径对应的物理文件路径 Server.MapPath()2. 上传视频文件 file.SaveAs()
private string UploadVideo(){    string strFileName = "";    Random rad = new Random();//实例化随机数产生器rad;    int value = rad.Next(1000, 10000);//用rad生成大于等于1000,小于等于9999的随机数;    string path = Server.MapPath("\\upload\\");//返回与Web服务器上的指定虚拟路径对应的物理文件路径    if (!Directory.Exists(path))    {        Directory.CreateDirectory(path);    }    strFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + value + ".mp4";    HttpPostedFile file = Request.Files[0];    file.SaveAs(path.Replace('\\', '/') + strFileName);//保存上传的文件    string data = "{\"src\":\"../upload/" + strFileName + "\"}";    return "{\"code\":10000,\"data\":" + data + "}";}

三、 删除视频(前端)

  1. 之前已经将页面的元素代码全部贴出

        下方的删除视频按钮单独拎了出来

"button" class="layui-btn" id="deleteVideo">class="layui-icon">删除视频

    2. js代码如下 

向服务器请求删除视频文件 

然后清空页面的视频展示

//删除视频$("#deleteVideo").click(function () {    var url = $("#videoplay").attr("src");    if (url == '') {        layer.msg("没有视频你删除个锤子", { icon: 5 });        return;    }    //发出请求 删除视频文件    $.post({        url: "上传视频Demo.aspx",        data: {            "Action": "DeleteVideo",            "url": url        },        success: function (data) {            if (data == '-1') {                layer.msg("没有视频你删除个锤子", { icon: 5 });            } else if (data == '0') {                layer.msg("删除成功", { icon: 1 });            }        },        error: function (errorMsg) {        }    })    $("#videoplay").attr("src", "");//清空路径})

四、 删除视频(后端)

  1. 获取指定虚拟路径对应的物理文件路径Server.MapPath()
  2. 判断路径是文件夹还是文件,因为文件夹和文件的删除方式是不一样的File.GetAttributes()
  3. 文件删除File.Delete(url)
  4. 文件夹删除Directory.Delete(url, true)
private string DeleteVideo(string url){    if (string.IsNullOrEmpty(url))    {        return "-1";//没有视频你删除个锤子    }    string filename = url.Split('/')[2];//获取到文件名    string path = Server.MapPath("\\upload\\");//返回与Web服务器上的指定虚拟路径对应的物理文件路径    url = path.Replace('\\', '/') + filename;    //确定指定的文件是否存在    if (File.Exists(url))    {        //根据路径字符串判断是文件还是文件夹        FileAttributes attr = File.GetAttributes(url);        //根据具体类型进行删除        if (attr == FileAttributes.Directory)        {            //删除文件夹以及所有子目录和文件            Directory.Delete(url, true);        }        else        {            //删除文件            File.Delete(url);        }    }    return "1";//删除成功}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值