需要帮助从FileUpload控件将图像显示到另一个页面

时间:2012-11-12 16:31:28

标签: c# asp.net

我是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

谢谢。

1 个答案:

答案 0 :(得分:1)

您的代码令人困惑,但从根本上说,您无法从浏览器引用本地服务器文件路径。

img = "<img alt=\"sd\" src=\"" + @"C:\Temp\" + fuImage.FileName.ToString() + "\"></img>";

您将需要引用一个服务器端点,该端点又加载图像并将其流回客户端,并且有很多方法可以实现这一点。