为了账号安全,请及时绑定邮箱和手机立即绑定

Asp.net更新文件夹的文件

标签:
SQL Server

文件上传至服务器文件夹存储,管理上有点不如存在数据库中方便。如果更新文件时,需要做文件操作,删除原来旧的文件,再上传新的文件。

下面Insus.NET写了一个更新方法,代码中有中文注释,仅供参考:

复制代码 //检查上传的文件是否被大小限制
        if (this.FileUpload1.PostedFile.ContentLength > 104857600)
        {
            objInsusJsUtility.JsAlert("You select the file larger than 100MB");
            return;
        }

        //定义一个临时文件夹
        string tempPath = "~/Temp/";

        //判断是否存在。
        if (!Directory.Exists(Server.MapPath(tempPath)))
        {
            //如果不存在,创建它。
            Directory.CreateDirectory(Server.MapPath(tempPath));
        }

        //上传文件
        string uploadfile = FileUpload1.PostedFile.FileName;
        //取得上传文件原来名称
        string oldFileName = uploadfile.Substring(uploadfile.LastIndexOf(@"\") + 1);
        //取得上传文件的扩展名
        string fileExtension = uploadfile.Substring(uploadfile.LastIndexOf("."));
        //产生新的文件名
        string newFileName = objGuid.ToString() + fileExtension;
      
        string newFile = Server.MapPath(tempPath + newFileName);
        //把文件保存至临时文件夹中
        FileUpload1.SaveAs(newFile);

        //定制可上传的文件格式
        string[] fileClass = { "7076", "4838" };  //7076 is FLV;4838 is wmv;
       //比较上传的文件是否为可上传的文件
        if (!InsusBase.CompareFileClass(newFile, fileClass))
        {
            objInsusJsUtility.JsAlert("You did not specify a media file.The file format is wmv,flv");
            return;
        }

        //从数据库取得此笔记录的信息
        DataRow objDataRow = objMedia.GetFileByPrimaryKey(objDictionary["PrimaryKey"].ToString()).Rows[0];
        //从数据库取出旧的文件名包括路径
        string o_file = objDataRow["Directory"].ToString() + objDataRow["NewFileName"].ToString();
        //从数据库取出路径与新文件名组合
        string n_file = objDataRow["Directory"].ToString() + newFileName;
        try
        {
           
            //首先删除磁盘上旧文件
            File.Delete(Server.MapPath(o_file));

            //更新数据库记录
            objMedia.Update(oldFileName, newFileName, objDictionary["PrimaryKey"].ToString());
           //从临时文件夹把文件移至真正的目录中
            File.Move(newFile, Server.MapPath(n_file));
            objInsusJsUtility.JsAlert("视频更新成功。","this","MediaEdit.aspx");
        }
        catch (Exception ex)
        {           
           
            //如果执行期间出现异常,抛出。
            InsusBase.InsusException(ex);
        }复制代码

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消