我在网页中要做一个上传图片的功能,能不能给指点一下??

解决方案 »

  1.   

    一、将文件上传到指定目录中的页面。
      1.form属性的设置:
       <form name="form3" action="xmgl_save.aspx?type=att" method="post"runat="server">
       其中:action 无意义,method 传值方式,runat 必须设置为"server"即在服务器端运行。
      2.增加浏览文件框:
       <input type="file" id="inputFile1" runat="server" name="inputFile1">
       其中:type 类型必须为file型,id 在脚本中引用该对象时使用,runat 必须设置为"server"。
      3.增加上传文件的链接:
       <a href="/Blog/xmgl_edit.aspx" OnServerclick="UploadBtn_Click" runat="server">上传文件</a>
       其中:href 无实际意义,OnServerclick 调用服务器端脚本实现上传,runat 必须设置为"server"。
      4.服务器端实现上传的脚本(放在html标记上面):
       <script runat="server">
        private string GetShortFileName( string strLongFileName )
        {
         return strLongFileName.Substring( strLongFileName.LastIndexOf( "\\" ) + 1 );
        }
        private void UploadBtn_Click( Object sender, EventArgs e )
        {
         string strPath = Request.MapPath( "." ) + "\\upload\\";
         string strFileName = ""; 
         if( inputFile1.PostedFile.ContentLength > 0 )
         {
          strFileName = strPath + GetShortFileName( inputFile1.PostedFile.FileName );
          inputFile1.PostedFile.SaveAs( strFileName );
          Session["str"] = GetShortFileName( inputFile1.PostedFile.FileName );
         }
        }
       </script>
       其中:
        (1).GetShortFileName函数用于截取上传文件的文件名,去掉前面的路径部分。
        (2).UploadBtn_Click函数实现上传。strPath存放当前上传路径,strFileName路径和文件名,调用inputFile1对象的PostedFile属性的SaveAs方法将选择的文件存储在指定的路径中。Session["str"]用于将文件名传递到客户端显示。二、添加附件的页面在一般情况下具备的字段。
      1.添加附件的主体名(一般为项目名称、合同名称等)。
      2.上传文件页面的链接。
      3.上传的文件名:将Session["str"]显示在文本框中,以备保存到数据库的附件表中。
      4.附件说明。
    End