0

我正在使用twitter 引导程序。我正在更改个人资料图片。我只是将图片保存在文件夹中并再次检索它。它在本地系统中运行良好,但在服务器中部署代码后无法运行。但是图片被保存在文件夹中,而不是在 .aspx 页面中更改。当我注销并再次登录时,它会刷新。

这是我的代码:

  <img runat="server" id="ImgPic" />  
  <input type="file" id="fileUpload" runat="server"/>         
  <a href="javascript:void(0);" id="lnkChangePic" runat="server" onclick="ChangePicture();">Change</a>

  <asp:Button ID="btnChangeUserPic" runat="server" OnClick="btnChangeUserPic_Click"
        class="hidden" />   


function ChangePicture(){
  $('#btnChangeUserPic').click();
}

 protected void btnChangeUserPic_Click(object sender, EventArgs e)
    {
        try
        {
            string filePath = Server.MapPath("~/Upload/Images/");
            if (!Directory.Exists(filePath))
            {
                Directory.CreateDirectory(filePath);
            }
            string file = fileUpload.PostedFile.FileName.ToLower();
            HttpPostedFile hpfFile = fileUpload.PostedFile;
            if (file != "")
            {
                string fileExtn = Path.GetExtension(hpfFile.FileName).ToLower();

                if (fileExtn == ".jpg")
                {                       
                    string filename = filePath +System.IO.Path.GetFileName(hpfFile.FileName);
                    if (File.Exists(filename))
                    {
                        File.Delete(filename);
                    }
                    hpfFile.SaveAs(filename); 
                    ImgPic.src=    filename;                 
                }                   
            }            
        }
        catch (Exception ex)
        {               
        } 
   } 

图片也应该在母版页中更新。

预先感谢大家的回复。

4

2 回答 2

0

我不是 100% 确定您所说的“刷新”是什么意思,但是..您服务器上的文件路径与本地计算机上的文件路径不同。使用 Server.MapPath 而不是简单的字符串;

http://msdn.microsoft.com/en-us/library/ms524632(v=vs.90).aspx

还要检查您对该文件夹的权限并向我们展示实际显示图片的任何 UI 页面中的代码,这是如何设置的?

于 2013-10-18T11:14:14.883 回答
0

我的猜测(没有足够的信息)是 ImgPic.src 持有 img 标签的 URL。这可以解释为什么它在本地工作但不能在服务器上工作,因为你已经设置

ImgPic.src=    filename;

它应该设置为 URL,而不是映射路径。

如果不是这样,请发布有关 img 从何处获取它的 src 集的信息。

于 2013-10-18T15:21:32.917 回答