We do not always find visible happiness in proportion to visible virtue

梦幻白桦林

SHARE

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  14 Posts :: 58 Stories :: 62 Comments :: 0 Trackbacks

公告

常用链接

留言簿(5)

搜索

  •  

最新随笔

最新评论

阅读排行榜

 
前几天在园子里发布了一个图片上传(加水印、缩略图、远程保存)的简单例子 ,很受大家的欢迎,这类再发布一个多文件上传示例源码(默认支持各种类型,包括图片)的例子,可以同时批量上传文件(包括图片)

网上包括园子里有很多多文件上传的例子,但是没有完整的示例代码,本人整理了一下发布出来,这样更直观,希望对大家有所帮助

开发环境VS2005

下载该源码

部分源码

 public partial class _Default : System.Web.UI.Page
    
{
        
static public ArrayList hif = new ArrayList(); // 保存文件列表
        public int filesUploaded = 0// 上传文件的数量

        
protected void Page_Load(object sender, EventArgs e)
        
{

        }

       
/// <summary>
        
/// 将要上传的文件添加到listbox中
       
/// </summary>
       
/// <param name="sender"></param>
       
/// <param name="e"></param>


        
protected void AddFile_Click(object sender, EventArgs e)
        
{
            
if (Page.IsPostBack == true)
            
{
                hif.Add(FindFile);
                FileList.Items.Add(FindFile.PostedFile.FileName);
            }

            
else
            
{ }

        }


        
/// <summary>
        
/// 从listbox中删除指定的文件
        
/// </summary>
        
/// <param name="sender"></param>
        
/// <param name="e"></param>

        protected void RemvFile_Click(object sender, EventArgs e)
        
{
            
if (FileList.SelectedIndex == -1)
            
{
                TipInfo.Text 
= "错误 - 必须指定要删除的文件.";
                
return;
            }

            
else if (FileList.Items.Count != 0)
            
{
                hif.RemoveAt(FileList.SelectedIndex);
                FileList.Items.Remove(FileList.SelectedItem.Text);
                TipInfo.Text 
= "";
            }
           

        }


          
/// <summary>
  
/// 循环上传listbox中的文件到指定的文件夹下
  
/// </summary>
  
/// <param name="sender"></param>
  
/// <param name="e"></param>

        public void Upload_ServerClick(object sender, System.EventArgs e)
        
{
            
string baseLocation = Server.MapPath("UploadFiles/"); // 上传路径   
            string status = "";  // 上传成功后显示的文件列表         

            
if ((FileList.Items.Count == 0&& (filesUploaded == 0))
            
{
                TipInfo.Text 
= "错误 - 必须指定要上传的文件.";
                
return;
            }

            
else
            
{
                
foreach (System.Web.UI.HtmlControls.HtmlInputFile HIF in hif)
                
{
                    
try
                    
{
                        
string fn = System.IO.Path.GetFileName(HIF.PostedFile.FileName);
                        HIF.PostedFile.SaveAs(baseLocation 
+ fn);
                        filesUploaded
++;
                        status 
+= fn + "<br>";
                    }

                    
catch (Exception err)
                    
{
                        TipInfo.Text 
= "上传错误 " + baseLocation
                         
+ "<br>" + err.ToString();
                    }

                }


                
if (filesUploaded == hif.Count)
                
{
                    TipInfo.Text 
= "共上传了 " + filesUploaded + " 个文件。 <br>" + status;
                }

                hif.Clear();
                FileList.Items.Clear();
            }


        }

    }




 



51aspx.com 2007-04-10 11:45 发表评论
posted on 2007-04-10 11:45 colys 阅读(489) 评论(0)  编辑 收藏 引用 所属分类: C#.Net

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理