当我需要从网络服务器上的目录中删除一些图像文件时,我有一些代码可以正常工作:
Dim ImageURL As String = dsImages.Tables(0).Rows(iImgRow).Item("ImageURL")
Dim physicalName = Server.MapPath(ImageURL)
oUpload.DeleteFileFromServer(physicalName, iAdid, iImgID)
..但是当以设定的时间间隔在单独的线程中运行的维护任务确定需要删除上述文件时,我遇到了问题:
Dim ImageURL As String = dsImage.Tables(0).Rows(i - 1).Item("ImageURL")
Dim iImgID As Integer = dsImage.Tables(0).Rows(i - 1).Item("ImageId")
Dim physicalName As String = HttpContext.Current.Server.MapPath(ImageURL)
oUpload.DeleteFileFromServer(physicalName, iAdID, iImgID)
在后一种情况下,HttpContext.Current.Server.MapPath(ImageURL)值为 Nothing。
有没有办法获得此案例的完整路径?
The HttpContext.Current
当您的代码在线程内运行时不可用。
要获得您的网络应用程序路径,您可以使用:
System.Web.Hosting.HostingEnvironment.MapPath("~/")
或者您可以简单地在HttpRuntime.AppDomainAppPath
属性(推荐/更快)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)