<input type=text size=10 name=sFactory"+i+">
<input size=10 type=File     name=asd"+i+">form的Enctype = "multipart/form-data"如何获取text和file的值??????
public partial class test_add2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       this.form1.Enctype = "multipart/form-data";     }
    protected void Button1_Click(object sender, EventArgs e)
    {                                 
        for (int i = 0; i < Request.Files.Count; i++)
        {
            string UserPath = Server.MapPath("upload").ToString() ;
            //如果文件夹不存在则创建
            if (!System.IO.Directory.Exists(UserPath))
            {
                System.IO.Directory.CreateDirectory(UserPath);
            }
           
            string fileName2 = Request.Files[i].FileName;//这里如何获取文件名???
            
            Request.Files[i].SaveAs(UserPath + "\\" + fileName2);//这里出错 保存不了,要怎样写?
         
        }     }

解决方案 »

  1.   


    if (File1.PostedFile.FileName.Length > 2)
            {            if (ddl_picture.SelectedValue != "")
                {
                    this.Label7.Text = "";
                    string fullfilename = this.File1.PostedFile.FileName;
                    string type1 = fullfilename.Substring(fullfilename.LastIndexOf("."));
                    string dt = DateTime.Now.ToString().Trim().Replace("-", "").Replace(":", "").Replace(" ", "");                string filename = dt.ToString() + type1.ToString();                this.Label7.Text = "";                string sql = "update bs_gls set Picture where XH='" + ddl_picture.SelectedValue + "'";                or.strExecute(sql);
                    string lujing = Server.MapPath(".") + "\\Photos\\" + filename;
                    File1.PostedFile.SaveAs(lujing);            }
                else
                {
                    this.Label7.Text = "请选择镜架编号,否则您不能上传!!";
                }
            }
            else
            {
                this.Label7.Text = "上传路径不能为空!";
            }
      

  2.   

    <input size=10 type=File    name=asd"+i+"  runat=server
    这样不更简单吗.
      

  3.   

    我用的是js 没有 runat=server
      

  4.   

     string aa = Request["sFactory"+"+i+"];这样获取text的内容吗?
      

  5.   

    你的代码这里明显有错误
    string fileName2 = Request.Files[i].FileName;//这里如何获取文件名???
    这样获取的文件名是文件在客户端的绝对路径,是不对的,修改如下
    string fileName2 = Request.Files[i].FileName.Substring(Request.Files[i].FileName.LastIndexOf("\\")+1);
    然后你再保存,应该没问题了,保存路径已经正确了
      

  6.   


    这个问题我已经发现了,多谢!
    现在的问题是怎样获取text的内容,如果有两个file,又怎样获取?
      

  7.   

    前台 
    HTML code<form id="form1" runat="server" Enctype = "multipart/form-data">
    <input size=10 name=sClass"+i+">
    <input size=10  type=File   name=aa"+i+">
    <input size=10  type=File   name=bb"+i+">
    i是点击一个按钮动态增删行的。在后台怎样获取这三个值,注意Enctype = "multipart/form-data",还有name=aa"+i+",不是单纯的i 
      

  8.   

        string abc = Request.Params["sClass" + i + ""];