博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多文件上传示例源码(默认支持各种类型,包括图片)
阅读量:6570 次
发布时间:2019-06-24

本文共 1999 字,大约阅读时间需要 6 分钟。

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

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

None.gif  
public  partial 
class  _Default : System.Web.UI.Page
ExpandedBlockStart.gif     {
InBlock.gif        
static 
public ArrayList hif = 
new ArrayList(); 
//
 保存文件列表
InBlock.gif
        
public 
int filesUploaded = 0; 
//
 上传文件的数量
InBlock.gif
InBlock.gif        
protected 
void Page_Load(
object sender, EventArgs e)
ExpandedSubBlockStart.gif        {
InBlock.gif
ExpandedSubBlockEnd.gif        }
ExpandedSubBlockStart.gif       
///
 
<summary>
InBlock.gif        
///
 将要上传的文件添加到listbox中
InBlock.gif       
///
 
</summary>
InBlock.gif       
///
 
<param name="sender"></param>
ExpandedSubBlockEnd.gif       
///
 
<param name="e"></param>
InBlock.gif
InBlock.gif        
protected 
void AddFile_Click(
object sender, EventArgs e)
ExpandedSubBlockStart.gif        {
InBlock.gif            
if (Page.IsPostBack == 
true)
ExpandedSubBlockStart.gif            {
InBlock.gif                hif.Add(FindFile);
InBlock.gif                FileList.Items.Add(FindFile.PostedFile.FileName);
ExpandedSubBlockEnd.gif            }
InBlock.gif            
else
ExpandedSubBlockStart.gif            { }
InBlock.gif
ExpandedSubBlockEnd.gif        }
InBlock.gif
ExpandedSubBlockStart.gif        
///
 
<summary>
InBlock.gif        
///
 从listbox中删除指定的文件
InBlock.gif        
///
 
</summary>
InBlock.gif        
///
 
<param name="sender"></param>
ExpandedSubBlockEnd.gif        
///
 
<param name="e"></param>
InBlock.gif        
protected 
void RemvFile_Click(
object sender, EventArgs e)
ExpandedSubBlockStart.gif        {
InBlock.gif            
if (FileList.SelectedIndex == -1)
ExpandedSubBlockStart.gif            {
InBlock.gif                TipInfo.Text = "错误 - 必须指定要删除的文件.";
InBlock.gif                
return;
ExpandedSubBlockEnd.gif            }
InBlock.gif            
else 
if (FileList.Items.Count != 0)
ExpandedSubBlockStart.gif            {
InBlock.gif                hif.RemoveAt(FileList.SelectedIndex);
InBlock.gif                FileList.Items.Remove(FileList.SelectedItem.Text);
InBlock.gif                TipInfo.Text = "";
ExpandedSubBlockEnd.gif            }           
InBlock.gif
ExpandedSubBlockEnd.gif        }
InBlock.gif
ExpandedSubBlockStart.gif          
///
 
<summary>
InBlock.gif  
///
 循环上传listbox中的文件到指定的文件夹下
InBlock.gif  
///
 
</summary>
InBlock.gif  
///
 
<param name="sender"></param>
ExpandedSubBlockEnd.gif  
///
 
<param name="e"></param>
InBlock.gif        
public 
void Upload_ServerClick(
object sender, System.EventArgs e)
ExpandedSubBlockStart.gif        {
InBlock.gif            
string baseLocation = Server.MapPath("UploadFiles/"); 
//
 上传路径   
InBlock.gif
            
string status = "";  
//
 上传成功后显示的文件列表         
InBlock.gif
InBlock.gif            
if ((FileList.Items.Count == 0) && (filesUploaded == 0))
ExpandedSubBlockStart.gif            {
InBlock.gif                TipInfo.Text = "错误 - 必须指定要上传的文件.";
InBlock.gif                
return;
ExpandedSubBlockEnd.gif            }
InBlock.gif            
else
ExpandedSubBlockStart.gif            {
InBlock.gif                
foreach (System.Web.UI.HtmlControls.HtmlInputFile HIF 
in hif)
ExpandedSubBlockStart.gif                {
InBlock.gif                    
try
ExpandedSubBlockStart.gif                    {
InBlock.gif                        
string fn = System.IO.Path.GetFileName(HIF.PostedFile.FileName);
InBlock.gif                        HIF.PostedFile.SaveAs(baseLocation + fn);
InBlock.gif                        filesUploaded++;
InBlock.gif                        status += fn + "<br>";
ExpandedSubBlockEnd.gif                    }
InBlock.gif                    
catch (Exception err)
ExpandedSubBlockStart.gif                    {
InBlock.gif                        TipInfo.Text = "上传错误 " + baseLocation
InBlock.gif                         + "<br>" + err.ToString();
ExpandedSubBlockEnd.gif                    }
ExpandedSubBlockEnd.gif                }
InBlock.gif
InBlock.gif                
if (filesUploaded == hif.Count)
ExpandedSubBlockStart.gif                {
InBlock.gif                    TipInfo.Text = "共上传了 " + filesUploaded + " 个文件。 <br>" + status;
ExpandedSubBlockEnd.gif                }
InBlock.gif                hif.Clear();
InBlock.gif                FileList.Items.Clear();
ExpandedSubBlockEnd.gif            }
InBlock.gif
ExpandedSubBlockEnd.gif        }
ExpandedBlockEnd.gif    }

本文转自 liudao 博客园博客,原文链接:http://www.cnblogs.com/liudao/archive/2007/04/10/706835.html,如需转载请自行联系原作者

你可能感兴趣的文章
Fragment与FragmentActivity通信封装
查看>>
飘逸的python - yield简明教程
查看>>
sql查询重复记录、删除重复记录方法大全
查看>>
hdu1711 Number Sequence
查看>>
js如何判断一组数字是否连续,得到一个临时数组[[3,4],[13,14,15],[17],[20],[22]];
查看>>
PHP利用memcache缓存技术提高响应速度
查看>>
python 多线程笔记(2)-- 锁
查看>>
EXT--表单AJax提交后台,返回前端数据格式的转换
查看>>
个人作品- 蘑菇大战
查看>>
protobuf使用错误总结
查看>>
Tomcat可以在eclipse里启动,可是不能訪问首页的问题
查看>>
QueryPerformanceFrequency使用方法--Windows高精度定时计数
查看>>
在Linux环境下安装和配置phpmyadmin
查看>>
Co-prime Array&&Seating On Bus(两道水题)
查看>>
该行已经属于另一个表 的解决方法
查看>>
linux下bus、devices和platform的基础模型 【转】
查看>>
如何优雅的使用RabbitMQ
查看>>
js json 对象相互转换
查看>>
jQuery中click事件多次触发解决方案
查看>>
java IO
查看>>