-1

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

谢谢你。

4

1 回答 1

1

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

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

相反,您将需要引用一个服务器端点,该端点依次加载图像并将其流式传输回客户端,并且有多种方法可以实现这一点。

于 2012-11-12T16:49:10.293 回答