所以我有两个功能,我遇到了一个有趣的问题.基本上我的目标是使我的代码在一个易于包含的cs文件中更具可移植性.
这里说cs文件:
namespace basicFunctions {
public partial class phpPort : System.Web.UI.Page {
public static string includer(string filename) {
string path = Server.MapPath("./" + filename);
string content = System.IO.File.ReadAllText(path);
return content;
}
public void returnError() {
Response.Write("<h2>An error has occurred!</h2>");
Response.Write("<p>You have followed an incorrect link. Please double check and try again.</p>");
Response.Write(includer("footer.html"));
Response.End();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是引用它的页面:
<% @Page Language="C#" Debug="true" Inherits="basicFunctions.phpPort" CodeFile="basicfunctions.cs" %>
<% @Import Namespace="System.Web.Configuration" %>
<script language="C#" runat="server">
void Page_Load(object sender,EventArgs e) {
Response.Write(includer("header.html"));
//irrelevant code
if …Run Code Online (Sandbox Code Playgroud) 我正在使用DotNetNuke的调度程序来安排任务,我正在寻找我创建的电子邮件模板的物理文件路径.问题是HttpContext为NULL,因为计划任务位于不同的线程上,并且没有http请求.你将如何获得文件的物理路径?
如何在ASP classic中获取完整路径的虚拟路径.请注意,完整路径可能位于虚拟目录下,因此过于简单
virtPath = Replace(fullPath, Server.MapPath("/"), "")
Run Code Online (Sandbox Code Playgroud)
方法不起作用.
编辑:为了澄清,下面是一个例子
IIS 6.0
如何从完整文件路径中找到虚拟路径?
我有一个SignalR集线器.当客户端断开连接时,我想执行文件操作.要做到这一点,我需要访问Server.MapPath.
但是,由于我的Hub类不是.aspx或Web服务,因此没有HttpContext也没有请求.
我想过将IO工作委托给HTTP请求处理程序,但是我不能用相对URI创建WebRequest,我需要能够在不同的位置部署解决方案.
如何才能在System.IOSignalR中获取本地路径?
System.IO.Directory.GetCurrentDirectory() 给我IIS工作进程的位置.
我有一个关于GoDaddy的网站.正确设置了所有权限,并且图像已存在.但是,当页面加载所选项目的图像时,不显示.这是我的代码
imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png";
if (File.Exists(Server.MapPath(imagepath)))
{ this.spaimage.ImageUrl = Server.MapPath(imagepath); }
Run Code Online (Sandbox Code Playgroud)
spaimage是一个ASP控件和图像设置为thr的URL是D:\ hosting\xxxxxxx\calspas\spaimages\modelname.png
我究竟做错了什么.
我的业务层创建文件,需要将它们保存在App_Data我的asp.net mvc 4 web前端的文件夹中.
我可以Server.MapPath在业务层中使用来获取App_Data文件夹的物理路径.但我想避免System.Web在业务层中引用.
是否还有其他方法可以App_Data在业务层中获取路径?
我需要在列表中创建文件列表,这曾经很容易......但在 Asp.Net Core 2 Razor 页面上则不然。我找不到一种方法来获取“wwwroot”内“Poems”的物理路径。我发现很多例子使用IHostingEnvironment但总是在控制器中。但我没有控制器,不需要控制器,只需页面和后面的代码..
哦,我多么想念 WebForms!
没有控制器的 Razor Page 的解决方案是什么?
提前致谢。
我想使用Server.MapPath()方法将我创建的虚拟目录映射到其物理路径.
问题是.net环境无法识别Server.MapPath().
Google告诉我,我应该使用System.Web来使用HttpContext.Current.Server,但是尽管我使用System.Web,但HttpContext仍然无法识别.(我已经检查过--HttpContext是System.Web的一个类)
救命?
我在Server.MapPath()中发现了一些奇怪的东西.如果我有一个空格的文件夹,我得到:
HttpException:无法映射路径.
这很好用:
Server.MapPath("/Folder1/Folder2/item.jpg")
这很好用:
Server.MapPath("/Folder1/ Folder2/item.jpg")
这很好用:
Server.MapPath("/Folder1/Fol der2/item.jpg")
这失败了!:
Server.MapPath("/Folder1/Folder2 /item.jpg")
有人可以向我解释为什么最后的空间会失败,而其他地方的空间却没有?
注意:没有文件夹存在.
我已将项目部署到Azure。在我的项目中,我有“ App_Data \ Images”文件夹。
现在,我尝试执行以下操作:
String filename = GLOBAL_IMAGES_VALS.GET_FILE_PREFIX(imageType) + "-" + User.Identity.GetUserId<int>().ToString() + Path.GetExtension(image.FileName);
String origPath = Server.MapPath("~\\App_Data")+"\\Images\\" + filename;
Run Code Online (Sandbox Code Playgroud)
但是然后尝试:
image.SaveAs(origPath);
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
找不到路径“ D:\ home \ site \ wwwroot \ App_Data \ Images \ logo-10003065.jpg”的一部分。
如何将文件保存到“ App_Data \ Images \”?
server.mappath ×10
asp.net ×6
c# ×5
.net ×3
asp-classic ×1
asp.net-mvc ×1
azure ×1
dotnetnuke ×1
imageurl ×1
inheritance ×1
object ×1
razor-pages ×1
scheduler ×1
signalr ×1
virtual-path ×1
wwwroot ×1