none
Clase System.Web.HttpContext no existe en .NET Core RRS feed

  • Pregunta

  • Hola:

    Según

    https://www.variablenotfound.com/2017/10/donde-esta-servermappath-en-aspnet-core.html

    desaparece mappath y server.urlencode, server.urldecode de .NET core.

    Yo uso muchos mapapaths en mi asp.net 4.8. Uno es

    fi = New FileInfo(Server.MapPath("../../Comun/Varios/pagos_descargas_grandescantidades_" & Day(dtprepararayer) & "_" & Month(dtprepararayer) & "_" & Year(dtprepararayer) & "(1).csv"))

    ¿Cómo usar el path.combine para ese caso? Con el  mappath usos rutas virtuales, no sé si también con el path.combine.

    Y también ¿qué usar en vez de server.urlencode y decode, si es que ya no sirven?

    Muchísimas gracias por la ayuda.



    • Editado volar.2016 martes, 4 de febrero de 2020 16:38
    martes, 4 de febrero de 2020 16:36

Respuestas

  • hola

    Pero en el articulo te explica como cambiar el codigo para tener el root del sitio

    lo explica cuando usa

    public class TestController : Controller { private readonly IHostingEnvironment _env; public TestController(IHostingEnvironment env) { _env = env; } public IActionResult Index() {

    string fileName = string.Format("pagos_descargas_grandescantidades_{0}_{1}_{2}.csv", Day(dtprepararayer), Month(dtprepararayer), Year(dtprepararayer)); var path = Path.Combine(_env.WebRootPath, "Comun\Varios", fileName); // path = C:\inetpub\wwwroot\mysite\wwwroot\images\image.jpg ... } }

    lo relativo con el ../ no vas a poder aplicarlo, debes armar la ruta directa

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Diana AcuñaModerator martes, 4 de febrero de 2020 21:58
    • Marcado como respuesta volar.2016 miércoles, 5 de febrero de 2020 8:35
    martes, 4 de febrero de 2020 18:44

Todas las respuestas

  • hola

    Pero en el articulo te explica como cambiar el codigo para tener el root del sitio

    lo explica cuando usa

    public class TestController : Controller { private readonly IHostingEnvironment _env; public TestController(IHostingEnvironment env) { _env = env; } public IActionResult Index() {

    string fileName = string.Format("pagos_descargas_grandescantidades_{0}_{1}_{2}.csv", Day(dtprepararayer), Month(dtprepararayer), Year(dtprepararayer)); var path = Path.Combine(_env.WebRootPath, "Comun\Varios", fileName); // path = C:\inetpub\wwwroot\mysite\wwwroot\images\image.jpg ... } }

    lo relativo con el ../ no vas a poder aplicarlo, debes armar la ruta directa

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Diana AcuñaModerator martes, 4 de febrero de 2020 21:58
    • Marcado como respuesta volar.2016 miércoles, 5 de febrero de 2020 8:35
    martes, 4 de febrero de 2020 18:44
  • Hola:

    Leo que el primer argumento de combine debe ser ruta física, no relativa. Me dice que use join.

    Sin embargo no me sale join como parte del path. Uso asp.net 4.8

    Tal vez deba cambiar a .NET core. ¿puede ser eso? ¿instalar el runtime de .NET core 3.1?

    ¿Cómo hacer para que pueda poner la ruta relativa?

    Muchísimas gracias por la ayuda.


    • Editado volar.2016 martes, 4 de febrero de 2020 19:02
    martes, 4 de febrero de 2020 19:00
  • >>Sin embargo no me sale join como parte del path. Uso asp.net 4.8

    pero si usas net 4.8 entonces porque sigues el articulo

    alli aun tienes el Server.MapPath(), esto aplica para net core, sino lo usas aplcia la forma comun

    >>¿Cómo hacer para que pueda poner la ruta relativa?

    no deberias definir relativo, no hace falta, es codigo del lado del servidor no del cliente, la ruta es siempre absoluta en base al root del sitio

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 4 de febrero de 2020 19:12