解决方案 »

  1.   

      string path = Server.MapPath("~/tcimg/img/");  if (!Directory.Exists(path))
      {
      Directory.CreateDirectory(path);
      }
      if (FileUpload1.HasFile)
      {
      this.FileUpload1.SaveAs(path + this.FileUpload1.FileName);
      绝对地址 string ip= path + this.FileUpload1.FileName;
      相对地址 string img="~/tcimg/img/"+this.FileUpload1.FileName;
      }
      

  2.   

     绝对地址 string ip= path + this.FileUpload1.FileName;
      相对地址 string img="~/tcimg/img/"+this.FileUpload1.FileName;
      

  3.   

    fileuplaod选择文件,上传FileUpload1.SaveAs(Server.mapPath("~/img/")+ this.FileUpload1.FileName);
    显示使用image.aspx?id=1获取或直接连接图片路径Page.ResolveUtrl("~/")
      

  4.   

    楼主:
    看来这个问题很难以纯WEB的形式解决.
    我今天花了一点时间进行了测试,我的机器是WIN7/IE8.
    使用shell发送键的形式,失败;
    使用javascript直接打开图片,并采用读取行的形式(使用ReadAll不行,无论如何,仅显示7个字节的内容),每读取一行即直接发送至服务端存储,读取完毕,通知服务端保存.可以正常读取及保存,但保存后的文件大小与原文件大小严重不符(原文件500多K,保存后的文件仅100多K),并且无法打开.事实上,即使可以这么做,由于浏览器本身的限制,这种方式仍然不具备可行性.因为从安全角度来讲,如果可以这么干的话,那么浏览器上就无法存在安全性可言,任何一个应用程序,都可以从容的获取客户硬盘上的任何内容了.如果确认一定需要不通过选择文件即把客户端指定目录的文件上传到服务器,那么,我看唯一的办法只能是自己做一个activex控件了(可使用vb6)制作.只有这样,才可以在其中(实际上等同于用户安装了一个客户端),当我们需要的时候,指挥该ACTIVEX控件直接把文件上传到服务器上.(或者通过服务端把文件的内容读取形成文本交给我们的应用程序).
      

  5.   

    有一个办法,
    那就是把身份证照片作为一个文件上传,
    后台再读取处理。虽然没有做过,
    但肯定你某些地方做得不对,
    看看CSDN的图片上传吧
      

  6.   

    个人以为和IE版本是有关系的。IE8的FileUpLoad是只读的,IE6和IE7却可以通过复制粘贴或者发送键的形式赋值。