首页
知识
文库
登录
|
注册
首页
最近更新
所有主题
我的主题
我的收藏
首页
·
知识
·
云计算
允许一次上传多个文件的设计
佚名
本站原创
综合
编辑:
dezai
图片来源:网络
postText>在asp.net 2.0中,可以结合dhtml来实现在用户上传完一个文件后,再点“继续上传”,而动态增加上传文件框首先是前台的页面
在asp.net 2.0中,可以结合dhtml来实现在用户上传完一个文件后,再点“继续上传”,而动态增加上传文件框
首先是前台的页面
所属分类:
选择照片:
)" />
(最多上传 <%=MAXPHOTOCOUNT%> 张照片)
单击此按钮增加一个上传照片按钮。如果文件的名称或者内容为空,则不上传该照片。
这里使用了一个javascript,来动态生成多个上传文件框,注意这里用了一个DHTML的函数insertAdjacentHTML,用法如下
加html内容(insertAdjacentHTML和insertAdjacentText)
dhtml提供了两个方法来进行添加,insertAdjacentHTML和insertAdjacentText
insertAdjacentHTML方法:在指定的地方插入html标签语句。
原型:insertAdjacentHTML(swhere,stext)
参数:
swhere:指定插入html标签语句的地方,有四种值可以用:
1.beforeBegin:插入到标签开始前
2.afterBegin:插入到标签开始标记后
3.beforeEnd:插入到标签结束标记前
4.afterEnd:插入到标签结束标记后
stext:要插入的内容
例:var sHTML="
"
var sScript='';
ScriptDiv.insertAdjacentHTML("afterBegin",sHTML + sScript);
在html正文中加入一行:
最终变成:
insertAdjacentText方法与insertAdjacentHTML方法类似,只不过只能插入纯文本,参数相同
接下来就可以用FOR循环去处理了
protected void btnCommit_Click(object sender,EventArgs e)
{
if(ddlCategory.SelectedIndex <= 0) return;
///获取上载文件的列表
HttpFileCollection fileList = HttpContext.Current.Request.Files;
if(fileList == null) return;
Album album = new Album();
try
{ ///上载文件列表中的每一个文件
for(int i = 0; i < fileList.Count; i++)
{ ///获取当前上载的文件
HttpPostedFile postedFile = fileList[i];
if(postedFile == null) continue;
///获取上载文件的文件名称
string fileName = Path.GetFileNameWithoutExtension(postedFile.FileName);
string extension = Path.GetExtension(postedFile.FileName);
if(string.IsNullOrEmpty(extension) == true) continue;
///判断文件是否合法
bool isAllow = false;
foreach(string ext in AjaxAlbumSystem.ALLOWPHOTOFILELIST)
{
if(ext == extension.ToLower())
{
isAllow = true;
break;
}
}
if(isAllow == false) continue;
///获取基于时间的文件名称
string timeFilename = AjaxAlbumSystem.CreateDateTimeString();
///获取保存在数据库中的URL
string url = "Photoes/" + timeFilename + extension;
///获取全路径
string fullPath = Server.MapPath(url);
///上载文件
postedFile.SaveAs(fullPath);
///添加文件到数据库中
album.AddPhoto(fileName,url,postedFile.ContentType,postedFile.ContentLength,
Int32.Parse(ddlCategory.SelectedValue));
}
}
catch(Exception ex)
{ ///显示上载文件的操作失败消息
lbMessage.Text = "上载文件错误,错误原因为:" + ex.Message;
return;
}
本文作者:佚名 来源:本站原创
CIO之家 www.ciozj.com 微信公众号:imciow
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
看透SAAS企业好坏的16个关键指标
SaaS产品的五类核心指标
云业务成本的组成与管理趋势
也许感兴趣的
.
AGIC和软件生命周期:远不止是编码辅助
.
营销增长:如何从0到1设计并搭建你的会员体系?
.
制造企业MES功能架构及实施规划流程
.
如何做好私域运营
.
数据脱敏技术
.
数据中台建设的目标、流程及四大要点
.
数智时代,业财融合分析平台如何重新定义商业智能
我们推荐的
.
SaaS的关键指标有哪些
.
复杂的云原生体系建设
.
微服务架构设计总结实践
.
SaaS 市场体系搭建和企业营销全漏斗改造
.
SaaS企业如何应对疫情
.
中国SaaS发展史:一半是火焰,一半是海水
.
如何定义一家成熟的SaaS公司?
.
这些核心指标影响SaaS公司估值
主题最新
.
一文搞懂微服务架构演进
.
一文详解微服务架构
.
迄今为止最完整的DDD实践
.
全链路压测自动化实践
.
多维度规划业务架构
.
企业架构之业务架构
.
需求管理完整指南
.
软件安全设计原则
.
应用部署初探:微服务的3大部署模式
看看其它的
.
linux修改系统时间详解
.
linux与win分区格式
.
vmwareforlinux使用经典问答
.
VMware虚拟机上安装Linux系统
.
Linux操作系统安装VMware
.
解决WinXP重装后原文件夹拒绝访问
.
修复受损DVD光盘
.
笔记本移动CPU和显卡型号
收藏至微信