【问题标题】:How to read a relative web path with Server.MapPath with space character in filename or path in C#如何使用 Server.MapPath 在文件名或 C# 路径中使用空格字符读取相对 Web 路径
【发布时间】:2011-08-26 16:22:04
【问题描述】:

我得到的是

src = Request.QueryString["imgsrc"];//src = "images/file 15.jpeg";

System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(src));

第二行返回 System.IO.FileNotFoundException cause of the space in the path.

我应该怎么做才能编码或做一些事情来读取这种路径;

【问题讨论】:

  • 空间不是问题。这工作正常:System.IO.File.Create("This is a file.jpg");
  • 您是否尝试过在路径周围转义引号?
  • 可能不是空格。这可能是导致问题的路径。 “images”文件夹是否与执行文件处于同一级别?
  • 是的,它处于同一级别。如果我将文件重命名为 file15.jpeg(路径 images/file15.jpg),那么它工作正常!
  • 再次抱歉,您对空格的看法是正确的!

标签: c# asp.net server.mappath


【解决方案1】:

将 Server.MapPath(src) 分配给临时变量,然后确保路径指向现有文件:

src = Request.QueryString["imgsrc"];//src = "images/file 15.jpeg";

string tempPath = Server.MapPath(src);

Debug.Assert(System.IO.File.Exists(tempPath);

System.Drawing.Image image = System.Drawing.Image.FromFile(tempPath);

【讨论】:

  • 伙计们,对不起……经过这么多的开发,我头晕目眩,我忘了重命名文件系统中的文件,期望从数据库中获得
猜你喜欢
  • 2014-02-01
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 2011-06-30
  • 1970-01-01
  • 1970-01-01
  • 2016-11-09
  • 2014-09-26
相关资源
最近更新 更多