zoukankan      html  css  js  c++  java
  • C#取得控制台应用程序的根目录方法 判断文件夹是否存在,不存在就创建

    取得控制台应用程序的根目录方法
    1:Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径
    2:AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集
     


    取得WinForm应用程序的根目录方法
    1:Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
    2:Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
    3:Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
    4:AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
    5:AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称
     
    取得web应用程序的根目录方法
    1.HttpContext.Current.Server.MapPath("~/configs/ChannelUsers.xml")
    HttpContext.Current返回当前请求的 HttpContext 对象。如此我们就可以直接访问Request、Response、Session、Application等对象,和Page中访问等同。

    获取网站根目录的方法有几种如:
    Server.MapPath(Request.ServerVariables["PATH_INFO"])
    Server.MapPath("/")
    Server.MapPath("")
    Server.MapPath(".")
    Server.MapPath("../")
    Server.MapPath("..") 
    Page.Request.ApplicationPath
    以上的方法可以在.aspx中访问,但是如果你在winform文件就不能用。
    HttpContext.Current.Server.MapPath();
    System.Web.HttpContext.Current.Request.PhysicalApplicationPath在.cs文件中可以用。
    但是HttpContext.Current.Server.MapPath();这个获取的是文件的路径而不是根目录。
    只有System.Web.HttpContext.Current.Request.PhysicalApplicationPath    这个才是获取的根目录,在写获取数据库路径是应该用这个。

    判断文件夹是否存在,不存在就创建

    if (Directory.Exists(Server.MapPath(~/upimg/hufu)) == false)//如果不存在就创建file文件夹{
    Directory.CreateDirectory(Server.MapPath(~/upimg/hufu));}
    //Directory.Delete(Server.MapPath(~/upimg/hufu), true);//删除文件夹以及文件夹中的子目录,文件
    //判断文件的存在
    if (File.Exists(Server.MapPath(~/upimg/Data.html))){
    Response.Write(Yes);//存在文件}else{
    Response.Write(No);
    //不存在文件
    File.Create(MapPath(~/upimg/Data.html));//创建该文件}
    string name = GetFiles.FileName;//获取已上传文件的名字
    string size = GetFiles.PostedFile.ContentLength.ToString();//获取已上传文件的大小
    string type = GetFiles.PostedFile.ContentType;//获取已上传文件的MIME
    string postfix = name.Substring(name.LastIndexOf(.) + 1);//获取已上传文件的后缀
    string ipath = Server.MapPath(upimg) +\+ name;//获取文件的实际路径
    string fpath = Server.MapPath(upfile) + \ + name;
    string dpath = upimg\ + name;//判断写入数据库的虚拟路径
    ShowPic.Visible = true;//激活
    ShowText.Visible = true;//激活
    //判断文件格式
    if (name == ) {
    Response.Write(<scriptalert('上传文件不能为空')</script);}else{
    if (postfix == jpg || postfix == gif || postfix == bmp || postfix == png){
    GetFiles.SaveAs(ipath);
    ShowPic.ImageUrl = dpath;
    ShowText.Text = 你上传的图片名称是: + name + + 文件大小: + size + KB + + 文件类型: + type + + 存放的实际路径为: + ipath;}else{
    ShowPic.Visible = false;//隐藏图片
    GetFiles.SaveAs(fpath);//由于不是图片文件,因此转存在upfile这个文件夹
    ShowText.Text = 你上传的文件名称是: + name + + 文件大小: + size + KB + + 文件类型: + type + + 存放的实际路径为: + fpath;}

  • 相关阅读:
    性能分析工具 — bootchart 工具使用(android 8.1)【转】
    Linux Namespace : 简介【转】
    bootargs常用属性项【转】
    Openwrt学习笔记(四)——系统开机启动【转】
    容器核心技术--Cgroup 与 Namespace【转】
    Linux C/C++适配malloc申请按页对齐的内存,方便使用mprotect【转】
    Java8 Map computeIfAbsent方法说明
    【JVM】调优笔记4---JAVA Thread Dump 分析综述[转]
    【mysql安装】3.win10 mysql5.7安装(zip免安装版本)
    【谷歌】【chrome】二.谷歌插件推荐安装
  • 原文地址:https://www.cnblogs.com/gdsblog/p/7780474.html
Copyright © 2011-2022 走看看