ASP.NET: Path.Combine com caminhos relativos
-
18-09-2019 - |
Pergunta
Eu estou tentando converter "~ / Uploads / Images /" para um caminho absoluto posso criar um FileStream partir. Eu tentei VirtualPathUtility e Path.Combine mas nada parece dar-me o caminho certo. O mais próximo que eu consegui foi VirtualPathUtility.ToAppRelative, mas isso foi apenas a localização do arquivo como um filho direto do C:.
Deve haver uma maneira de fazer isso.
Solução
Você está procurando o MapPath
método.
// get the path in the local file system that corresponds to ~/Uploads/Images
string localPath = HttpContext.Current.Server.MapPath("~/Uploads/Images/");
Use-o juntamente com Path.Combine para criar um caminho de arquivo:
string fileName = Path.Combine(
HttpContext.Current.Server.MapPath("~/Uploads/Images/"),
"filename.ext");
using (FileStream stream = File.OpenRead(fileName))
{
// read the file
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow