我想在ASP.NET通过按钮把从客户端的文本文件到入到数据库,我现在实现了自己指定的文件,怎么做那个弹出窗口让别人随意选择的文件
 protected void btn_Import_Click(object sender, EventArgs e)
    {
            Regex reg = new Regex(@"^\d{2}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$", RegexOptions.None);
            
            StreamReader sr = new StreamReader(@"D:\巡线任务.txt", System.Text.Encoding.Default);
            do
            {
                string str = sr.ReadLine();
                string[] strs = str.Split(',');
                string s = strs[0];
                string[] st = s.Split('`');
                StringBuilder sb = new StringBuilder("");
                if (reg.IsMatch(strs[strs.Length - 1]))
                {                    for (int i = 0; i < strs.Length; i++)
                    {
                       
                        
                    }
                    ListBox1.Items.Add(str);                    //sb.Append("insert student values(')");
                    //sb.Append(strs[0]); sb.Append("','");
                    //sb.Append(strs[1]); sb.Append("','");
                    //sb.Append(strs[2]); sb.Append("','");
                    //sb.Append(strs[3]); sb.Append("','");
                    //sb.Append(strs[4]); sb.Append("','");
                    // //sb.Append(strs[5]); sb.Append("');");
                    sb.Append("insert into QX_XSJL(");
                    sb.Append("ID,XXR,BMMC,XLMC,ZLMC,GH,YWQX,XSSJ,SFSD,JINGDU,WEIDU");
                    sb.Append(")");
                    sb.Append(" values (");
                    sb.Append("'" + Global.strloginID + "',");
                    sb.Append("'" + Global.strloginname + "',");
                    sb.Append("'" + Global.strloginBM + "',");
                    sb.Append("'" + st[0] + "',");
                    sb.Append("'" + st[1] + "',");
                    sb.Append("'" + st[2] + "',");
                    sb.Append("'" + strs[6] + "',");
                    sb.Append("'" + strs[8] + "',");
                    sb.Append("'" + strs[7] + "',");
                    sb.Append("" + strs[3] + ",");
                    sb.Append("" + strs[4] + "");
                    sb.Append(")");
                    DAL.DbHelperSQL.ExecuteSql(sb.ToString());
                }            } while (!sr.EndOfStream);       
       
    }

解决方案 »

  1.   

    //文件选择对话框
                 OpenFileDialog oOFD = new OpenFileDialog();
                 if (oOFD.ShowDialog() == DialogResult.OK)
                 {                 //string [] fileList = oOFD.FileNames;//选择多个文件
                     textBox2.Text = oOFD.FileName;
                 }//文件夹选择对话框             FolderBrowserDialog oFBD = new FolderBrowserDialog();
                 if (oFBD.ShowDialog() == DialogResult.OK)
                 {
                     textBox1.Text = oFBD.SelectedPath;
                 }
      

  2.   

    在aspx文件中添加FileUpload<asp:FileUpload ID="file" runat="server" />替换固定文件路径StreamReader sr = new StreamReader(file.FileName.ToString()); 
    建议你对上传的文件名进行过滤.要不然会经常出错.
      

  3.   

    添加FileUpload 控件<asp:FileUpload ID="FileUpload1" runat="server" Height="22px" Width="228px" />
    private void UploadFile()
     {
          if (this.FileUpload1.FileName.ToString().Trim() != "")
             {           
                string path = this.Server.MapPath("../../../");//此处写相对路径
                if (!Directory.Exists(path)) //判断path路径是否存在
                {
                    Directory.CreateDirectory(path); //如不存在则创建
                }
               //设定文件别名
                string lastName = this.fluFile.FileName.Substring(this.fluFile.FileName.LastIndexOf(".") + 1);
                string name = string.Empty;
                name = DateTime.Now.ToString("yyyyMMddhhmmss") + "." + lastName;
                string fileName = nowPath + name;
             
                ///判断上传文件的格式是否正确
                string stExtendName = fileName.Substring(fileName.LastIndexOf('.'));            if (stExtendName.ToLower() != ".doc" && stExtendName.ToLower() != ".rar" && stExtendName.ToLower() != ".swf"
                         && stExtendName.ToLower() != ".ppt" && stExtendName.ToLower() != ".txt")
                {
                    Response.Write("<script type='text/javascript'>alert('上传文件的格式不正确!请上传.doc,.rar,.swf,.ppt或.txt格式的文件')</script>");
                    
                }
                else
                {
                    if (this.fluFile.PostedFile.ContentLength > 1124000 * 2) //2M 控制大小
                    {
                        Response.Write("<script type='text/javascript'>alert('只允许上传小于2M的课件!')</script>");
                    }
                    else
                    {
                       HttpPostedFile hpf = this.fluFile.PostedFile;                                     
                        hpf.SaveAs(fileName);//上传新文件
                        //此处可将文件名保存到数据库中
                    }
                }
            }