纳闷了..!~我具体代码是这样的:首先用uploade上传一个文件,然后判断这个图片的扩张名称是不是jpg,如果是,则在页面上有个图片空间.然后用这个空间显示出这张图片..由于上传的图片并不是一样的大小..所以,就决定先缩放..然后在这个图片上添加一个超连接..先给他看个小的..然后等他想看大的时候,点一下就可以了...   问题来了..!~先看小的是可以显示了..但是等我点超连接的时候...它就死在那..死活都不动了..!~闷的要死...
 我把鼠标放在图片上的时候,底下状态栏显示的:file:///f:/路径...我看别人正常点的都是显示:http:/服务器/路径小弟的代码:
                              string fullname = this.fu.PostedFile.FileName.ToString();
        if (fullname.Length > 0)
        {
            FileInfo f = new FileInfo(fullname);
            string fname = f.Name.ToString();//获取原始文件名称
            string f_ex = f.Extension.ToString().ToLower();//获取文件的类型
            string length = f.Length.ToString();//获取文件的大小
            string newname = DateTime.Now.Millisecond.ToString() + length + fname;//定义文件的新名称用于保存在服务器上
            string savepath = Server.MapPath("annex");//文件存储的路径
            fu.SaveAs(savepath + "\\" + newname);//将以新文件名保存到服务器上
            string scf01x = msg.addscf(newname,f_ex, savepath, fname);
            if (scf01x.Length > 0)
            {
                this.lblOldName.Text = fname;
                this.t_newname.Text = scf01x;
                this.lblMsg.Text = "----<font color=green>上传成功!</font>";
                this.btnUpload.Enabled = false;
               // this.btnClose.Disabled = false;
                if (f_ex.Trim() == ".jpg")
                {
                    //this.im_fujian.Visible = true;
                    strimg = savepath.Trim() + "\\" + newname.Trim();
                    //im_fujian.ImageUrl = savepath.Trim() + "\\" + newname.Trim();
                    
                }                
            }
            else
            {
                this.lblMsg.Text = "----<font color=green>上传失败!</font>";
            }
        }
        else
        {
            this.lblMsg.Text = "----<font color=red>请选择上传的附件!</font>";
        }
        scf01 = this.t_newname.Text;
        oldname = this.lblOldName.Text;

解决方案 »

  1.   

    strimg = savepath.Trim() + "\\" + newname.Trim();
    楼主你用的路径是保存文件的磁盘绝对路径。
      

  2.   

    LZ是上传到服务器后在打开吗? 如果那样的话  应该是个URL  而不是你服务器上的某个路径
      

  3.   

    ..恩..恩..感谢各位...果然是绝对路径与相对路径的问题...  我把strimg = savepath.Trim() + "\\" + newname.Trim();
    改成strimg = "annex/" + newname.Trim();就可以了..!~  谢谢各位..结贴散分..!~
      

  4.   


    首先应该在你项目下创建一个文件夹,图片上传到这个文件夹下,程序中取相对路径,获取图片文件夹的相对路径,代码如下,比如文件夹名称img,和你这个上传文件在同一目录下,获取路径为
    string Savepath = Server.MapPath("img/");上一层目录下,
    string Savepath = Server.MapPath("../img/");
    图片上传时,要把图片名称存到数据库,读的时候还是取上传时候的相对路径(到文件夹的名字)+ 数据库中取出的文件的名字。项目部署到服务器后,这个文件夹要给读写权限,这时就是服务器的路径了。