How to read a relative web path with Server.MapPath with space character in filename or path in C#

StackOverflow https://stackoverflow.com/questions/7207732

  •  13-01-2021
  •  | 
  •  

What i get is

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

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

the second line returns System.IO.FileNotFoundException cause of the space in the path.

What should i do to encode or do something to read this kind of paths;

有帮助吗?

解决方案

Assign Server.MapPath(src) to a temporary variable and then make sure that the path points to an existing file:

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top