我是ASP.NET C#的新手。
这里我出现了显示图像的问题。我会解释我在这里做什么以及我遇到问题。
我正在使用FileUpload控件创建一个页面。 就像其他论坛一样,我有一个按钮预览。当用户点击时,它会显示用户所写的内容以及他或她上传的图像。
所以我想创建一个名为Preview.aspx的页面,它是空白的。 第二,我有一个名为Administration的页面。在那个页面我有FileUpload控件。 即使有很少的文本框,标签...其他控件,但在这里没有那么有用。 我将FileUpload控件命名为fuImage。
我告诉你我在活动btnPreview_Click上写的内容。
string img;
if (fuImage.HasFile){
fuImage.SaveAs(@"C:\Temp\" + fuImage.FileName);
img = "<img alt=\"sd\" src=\"" + @"C:\Temp\" + fuImage.FileName.ToString() + "\"></img>";
}else
img = "";
Functions.displayOnCommon = "<h3>" + tbSubject.Text + "</h3><hr/>"+img+"<p>" + tbPost.Text + "</p>";
ClientScript.RegisterStartupScript(this.Page.GetType(), "", "window.open('Preview.aspx','Graph','height=400,width=800');",
我将用户图像保存在服务器上并使用该图像显示为预览。 Functions.displayOnCommon只是在另一个位置声明的简单字符串,并不是那么必要。
这是Preview.aspx的后台C#代码。
protected void Page_Load(object sender, EventArgs e)
{
printPreview(Functions.displayOnCommon);
}
void printPreview(string texts) {
Response.Write("<div class=\"preview\">" + texts + "</div>");
}
它显示了整个文本,但不是图像。 抱歉我的英文解释不好。 我只是在学习英语和ASP.NET C#。 :d
谢谢。
答案 0 :(得分:1)
您的代码令人困惑,但从根本上说,您无法从浏览器引用本地服务器文件路径。
img = "<img alt=\"sd\" src=\"" + @"C:\Temp\" + fuImage.FileName.ToString() + "\"></img>";
您将需要引用一个服务器端点,该端点又加载图像并将其流回客户端,并且有很多方法可以实现这一点。