我下午提了一个图片重命名的问题
string fullfilename = this.FileUpload1.PostedFile.FileName;         if (fullfilename.Length > 2)
        {
            string type1 = fullfilename.Substring(fullfilename.LastIndexOf("."));
            string dt = DateTime.Now.ToString().Trim().Replace("-", "").Replace(":", "").Replace(" ", "");
            string filename = dt.ToString() + type1.ToString();
            string lujing = Server.MapPath("..\\") + "..\\Upload\\Images\\" + filename;
            FileUpload1.PostedFile.SaveAs(lujing);
            path = "Upload\\Images\\" + filename;
        }
这样取原图片的名称
我因为要多图片上传.所以我就把FileUpload1里的名称放在hidden里面 然后在取.我放了5个hidden 调试的时候名字都不一样 但是存入的时候名称虽然不一样了但是图片都是一样的了,这个问题怎么解决?
是不是取名只能在FileUpload1.PostedFile.FileName这样取?

解决方案 »

  1.   

    楼主每次都取了FileUpload1的图片了吧:)
      

  2.   

    我给你的吧。是这样的,如果你要是想上传5个图片,就跟楼上说的一样,要放置5个FileUpload控件的
      

  3.   

    string filename = FileUpload1.PostedFile.FileName;filename.Substring(filename.LastIndexOf("\\") + 1);这个是取出文件名,你filename是根据时间来重命名的,名字每次当然不一样的。
    图片一样,是因为你的名字不一样,当然就可以传。
      

  4.   

    给你的方法是这样的:
    public String Up_Img()
        {
            string path = string.Empty;
            string fullfilename = this.FileUpload1.PostedFile.FileName;
            if (fullfilename.Length > 2)
            {
                string type1 = fullfilename.Substring(fullfilename.LastIndexOf("."));
                string dt = DateTime.Now.ToString().Trim().Replace("-", "").Replace(":", "").Replace(" ", "");
                string filename = dt.ToString() + type1.ToString();
                string lujing = Server.MapPath("..\\") + "..\\Upload\\Images\\" + filename;
                FileUpload1.PostedFile.SaveAs(lujing);
                path = "Upload\\Images\\" + filename;
            }
            else
            {
                path = "Upload\\Images\\nopic.bmp"; //没有选择图片的情况下录入的图片地址。
            }
            return path;
        }我修改了一下:
    public String Up_Img(string upload)
        {
            FileUpload file = (FileUpload)this.FindControl(upload);
            string path = string.Empty;
            string fullfilename = this.file.PostedFile.FileName;
            if (fullfilename.Length > 2)
            {
                int ii = r.Next(1, 1000);
                string type1 = fullfilename.Substring(fullfilename.LastIndexOf("."));
                string dt = DateTime.Now.ToString().Trim().Replace("-", "").Replace(":", "").Replace(" ", "");
                string filename = dt.ToString() +ii.ToString() +type1.ToString();
                string lujing = Server.MapPath("..\\") + "\\Flash\\Upload\\Images\\" +filename;
                file.PostedFile.SaveAs(lujing);
                path = "Upload\\Images\\" + filename;
            }
            else
            {
                path = "Upload\\Images\\nopic.bmp"; //没有选择图片的情况下录入的图片地址。
            }
            return path;
        }
    这样的话,你调用的时候,只需要把控件的值给传到这个方法就可以得到对应的图片返回值了
      

  5.   

    同时插入数据库多张的时候,可能会速度过快而导致图片部分上传不了
    我同时上传6张时。Thread.Sleep(15); 就可以保证都上传上去了。
    根据你图片的多少修改时间就好
      

  6.   

    http://topic.csdn.net/u/20080826/12/DBED6043-ADAE-4822-A9E3-1F7283E00372.html