取得控制台应用程序的根目录方法
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;}

最新文章

  1. [nRF51822] 8、基础实验代码解析大全 &#183; 实验11 - PPI
  2. JS获取当前浏览器的类型
  3. 【python】获取指定网页上的所有超级链接
  4. Design5:Sql server 文件组和文件
  5. c/c++ 数据结构 链表插入数据代码(二)
  6. CSS选择器和jQuery选择器的区别与联系之一
  7. bzoj 1202: [HNOI2005]狡猾的商人 并查集好题
  8. Qt Style Sheets帮助文档 Overview
  9. 代码收藏 JS实现页内查找定位功能
  10. Linux下BMP文件不能正常读取问题的解决办法
  11. IntelliJ IDEA 2018.3 重大升级,哪些功能打动了你?
  12. CentOS 7 安装MongoDB
  13. 课程存储校对:程序设计思想、源程序代码、运行结果截图,以及开发过程中的项目计划日志、时间记录日志、缺陷记录日志(PSP0级记录)。
  14. mac配置php7运行环境
  15. 第一个Python脚本!
  16. iOS调用第三方地图App进行导航方法
  17. Sublime配置VI插件后 快捷键总结
  18. hdu1829A Bug&#39;s Life(种类并查集)
  19. Adobe Photoshop CC 2017-18.0安装教程
  20. 第17章 程序管理与SELinux初探

热门文章

  1. LaTeX技巧:如何高效地将LaTeX代码转为Word公式
  2. 剑指offer九之变态跳台阶
  3. Form表单中不同的按钮进行不同的跳转
  4. (转)Python: super 没那么简单
  5. SSDT Hook实现内核级的进程保护
  6. Python -----issubclass和isinstance
  7. 【转】谷歌三大核心技术(二)Google MapReduce中文版
  8. php获取 POST请求的数据
  9. BVH with SAH (Bounding Volume Hierarchy with Surface Area Heuristic)
  10. mysql索引总结(2)-MySQL聚簇索引和非聚簇索引