上传视图图像

时间:2009-09-24 12:40:46

标签: c# asp.net

问题是我设置图片网址点击lnkFV链接按钮。但图像未在页面上查看。

<tr>
     <td style="width: 160px; height: 15px">
         <asp:Label ID="Label4" runat="server" Text="Style Front View">
         </asp:Label>
    </td>
     <td style="width: 222px; height: 15px">
          <asp:FileUpload id="filFrontView" runat="server">
          </asp:FileUpload>
    </td>
    <td style="width: 72px; height: 15px">
           <asp:LinkButton id="lnkFV" runat="server" OnClick="lnkFV_Click">
           View image</asp:LinkButton>
    </td>
    <td colspan="3" rowspan="1">
         <asp:Image id="Image1" runat="server">
         </asp:Image></td>
  </tr>

asp代码

protected void lnkFV_Click(object sender, EventArgs e)
{
  // new Help().Perform("Do you really want to proceed");
    try
    {
        file = Path.GetFileName(filFrontView.PostedFile.FileName);
       // file = Path.GetFileName(filFrontView.PostedFile.FileName);
        tempF = "F:\\Visual Studio 2005\\User\\temp\\" + file;
        temp = "~\\temp\\" + file;
        filFrontView.SaveAs(Server.MapPath(temp));
       // filFrontView.SaveAs(temp);
        string filePath = MapPath(temp);
        Image1.ImageUrl = tempF; 
    }
    catch (Exception ee)
    {
    }
}

1 个答案:

答案 0 :(得分:3)

这是你的问题吗?

tempF = "F:\\Visual Studio 2005\\User\\temp\\" + file;
// ... other stuff ...
Image1.ImageUrl = tempF; 

看起来您正在将ImageUrl属性设置为字符串,该字符串是图像的本地计算机路径。对于没有在Web服务器上运行浏览器的人来说,这不适用。 ImageUrl应该是图像的相对路径,相对于当前页面或Web应用程序的虚拟根目录。

最终呈现页面时HTML源代码是什么样的?

您还必须确保将该图像保存到可通过网络访问的文件夹中。 F:\Visual Studio 2005\User\temp文件夹似乎不太适合这里的账单。一般来说,如果您希望网站上显示网络上传的图片,我认为您希望使用相对路径而不是硬编码这样的路径。