惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
The Cloudflare Blog
D
Docker
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
TaoSecurity Blog
TaoSecurity Blog
GbyAI
GbyAI
小众软件
小众软件
C
Cybersecurity and Infrastructure Security Agency CISA
V
Visual Studio Blog
L
LINUX DO - 热门话题
Recorded Future
Recorded Future
W
WeLiveSecurity
Vercel News
Vercel News
N
News and Events Feed by Topic
Y
Y Combinator Blog
N
News and Events Feed by Topic
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
The GitHub Blog
The GitHub Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Palo Alto Networks Blog
IT之家
IT之家
Attack and Defense Labs
Attack and Defense Labs
Know Your Adversary
Know Your Adversary
Hugging Face - Blog
Hugging Face - Blog
H
Heimdal Security Blog
C
CERT Recently Published Vulnerability Notes
博客园 - 叶小钗
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
The Last Watchdog
The Last Watchdog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Tor Project blog
Last Week in AI
Last Week in AI
S
Security @ Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Google Online Security Blog
Google Online Security Blog
Jina AI
Jina AI
T
Tenable Blog
月光博客
月光博客
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Schneier on Security
H
Help Net Security

博客园 - peace

MYSQL分页存储过程及事务处理 审批流设计方案的探究 WEB项目(B/S系统)打包安装(总结篇) 文件上传之断点续传方案 再次分享一个多选文件上传方案 SQL SERVER里的赋值机制闲聊 FLEX4.0开发流媒体视频播放器(总结篇) 告别ADO.NET实现应用系统无缝切换的烦恼(总结篇) SQL SERVER行转列应用小结 SQL SERVER函数——表值函数的处理 纠正网上流传的SQL取某一时间的当月第一天和最后一天的时间写法 SQL SERVER游标操作 告别.NET生成报表统计图的烦恼 发现联想手机P630型号的一个严重的系统Bug thinkpad T400型号安装server2003系统驱动共享 一个简单的httpModule应用 JS给页面标签添加事件(或超链接链接) 让默认焦点的按钮无虚框(又来无聊了) 利用ASP.NET日期控件制作“会议日程安排”(贴首页过把瘾)
分享一个.NET版的多选文件上传操作示例
peace · 2009-01-16 · via 博客园 - peace

    文件上传,无刷新上传,文件批量上传,批量无刷新上传,这些词这年头好像非常多,不管那种上传能满足实际的需求就是好的,一般上传文件时,点文件浏览框,只能选择单个文件,如果要上传多个,浏览多次,然后点击批量上传就可以了,也很好的,也不刷新也有进度显示,完全不错的。网上也有关于上传文件的能够多选的例子,点浏览时可以按住ctrl键或者shift键选择多个,然后上传。但是好像这样的.NET版的不多,朋友发我一个整理过的Demo,之后我又稍微整理了下,觉得还好,可以分享给大家一下,好与不好就不说,因为没有完美的东西,能适用于大家的某些实际需求就行了。先说下这个方式上传的机制主要也是和一般的无刷新上传一样嵌了一个swf文件,同过js调用达到无刷新效果(测试Demo文章结束处下载)

(1)浏览上传文件框可以设置文件过滤格式:

if(form1.ddlFileType.value=="p")
                {
                    size_limit 
= "0"// 1M = 1048576;
                    types = "*.jpg; *.bmp; *.gif;";
                    types_description 
= "图像文件";
                }
                
else if(form1.ddlFileType.value=="a")
                {
                    size_limit 
= "0";
                    types 
= "*.mp3; *.wmv";
                    types_description 
= "音频文件";
                }
                
else if(form1.ddlFileType.value=="r")
                {
                    size_limit 
= "0";
                    types 
= "*.rm; *.avi; *.mpeg; *.rmvb;*.wmv; *.dat";
                    types_description 
= "视频文件";
                }
                
else
                {
                    size_limit 
= "0";
                    types 
= "*.*";
                    types_description 
= "所有文件";
                }        

 (2)点开选择文件按钮,弹出文件浏览框,选择文件双击鼠标或点右下角的打开按钮的同事就进行了相关操作,主要是把浏览的文件先以文件流的格式缓冲起来(简单的用session缓冲下),如下图:

     

   上面其实选择多个文件点点打开后js隐含执行了一个按钮的onclick事件。执行完成后各个文件会列出到列表中,如下图:

  

   完整的测试截图如下(比较简陋:))

   

config配置里,最大可以上传2G的文件,选择三个稍大点文件截个效果图,如下:

点击保存按钮后才是将文件上传至对应的文件夹和进行数据库写入操作。

   写完了我才发现,在我向博客里插入图片时,原来博客园上的插入图片上传等就是可以多选的了,呵呵,功能效果上和这非常相似。

  demo及源码下载 :多选文件上传(.NET版)   

  附加说明:选择文件类型时,必须要重新加载页面,也尝试过同过下拉的onchange事件来处理,让其不刷新页面,但是不可行,另外上传大文件过程中如要取消当前的文件,同时让其接着上传下一个文件,这点还没做处理,应该说是两个遗留问题吧。如果要运行程序,可能要安装一下aspnetajax,删除和请清空用的updatepanel,如果不安装要看效果,把页面的scriptmanager和updatepanel控件去条,config里注释掉同时把原有注释的放开就可以了。