zoukankan      html  css  js  c++  java
  • Asp.net更新文件夹的文件

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

    下面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);
            }
  • 相关阅读:
    软件仓库配置及编译http2.4及文件系统创建实例
    查找、打包、sed实例
    文件管理工具和基础脚本实例
    文件管理实例
    Linux系统中vim设置tab缩进为4个字符
    linux文件管理类命令及实例讲解
    文件元数据信息介绍及修改文件时间
    Linux发行版的系统目录名称命名规则以及用途
    回调和递归
    关于for循环的小案例
  • 原文地址:https://www.cnblogs.com/insus/p/1988575.html
Copyright © 2011-2022 走看看