【问题标题】:update images(multiple Images) to database using file upload使用文件上传将图像(多个图像)更新到数据库
【发布时间】:2011-08-14 17:10:13
【问题描述】:

我的 update.aspx 页面上有 10 张图片和 10 个文件上传。我想要做的是客户端可以使用文件上传将任何当前图像更改为新图像。我可以通过为每个文件使用更新按钮来为单个文件上传执行此操作,但这将导致 10 个更新图像按钮,我想通过单击更新来实现这一点,这应该检查哪些文件上传图像已被使用并用当前图像替换那些图像数据库。

任何帮助或建议将不胜感激。

【问题讨论】:

    标签: asp.net database image file-upload


    【解决方案1】:

    您将要使用 HttpFileCollection 类来处理文件。

    关于更新按钮的点击事件:

    protected void Update_Click(object sender, EventArgs e)
    {
       string filepath = "C:\\Uploads";
    
       //HttpFileCollection class initialization
       var filesToBeUploaded = Request.Files;
    
       for (int i = 0; i < filesToBeUploaded.Count; i++)
       {  
          //HttpPostedFile class initialization
          var postedFile = uploadedFiles[i];
    
          try
          {    
             if (postedFile.ContentLength > 0 )
             {    
                postedFile.SaveAs(filepath + "\\" + 
                   System.IO.Path.GetFileName(postedFile.FileName));
             }    
          } 
          catch (Exception Ex)
          {    
             Label1.Text += "Error: <br/>" + Ex.Message;    
          }    
       }    
    }
    

    【讨论】:

      【解决方案2】:

      你可以用这个检查

       if(FileUpload1.HasFile)
      {
      //your code
      }
      

      都这样检查

      【讨论】:

      • 但是有10个文件上传,所以我需要10个,如果这会很乱,还有其他方法吗
      • 您可以设置名称 FileUpload1,FileUpload2,FileUpload3 并在循环中使用 FindControl 来实现单块
      • 你的意思是 imgUpLoad = ((FileUpload)e.Item.FindControl("FileUpload1"));
      • yup.. 和带有 ID 的 concat 循环变量值 imgUpLoad = ((FileUpload)tbl1.FindControl("FileUpload"+i));
      • 我认为这不是一个合适的解决方案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 2019-08-02
      • 2015-01-01
      • 2014-09-28
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      相关资源
      最近更新 更多