CreateElements.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>上传多个文件</title>
<script language="javascript" type="text/javascript">
<!--
var num=0;
var BeforValue="";
function Creat()
{
num++;
var i;
var str;
var Upf=document.getElementById("Upf");
var file=document.createElement("<input type='file' id='file" + num + "' size='40' onchange='AddFile(this.value)'onkeypress='return false;' onpaste='return false;' onmousedown='return false;' onkeydown='return false;' onfocus='return false;' onclick='BeforValue=this.value' />");
var href=document.createElement("<a href='javascript:void(0)' onclick='remove(" +num +")' id='h"+num+"'>");
var hrefText=document.createTextNode("[删除]");
href.appendChild(hrefText);
var br=document.createElement("<br id='b"+num+"'>");
Upf.appendChild(file);
Upf.appendChild(href);
Upf.appendChild(br);
} function DelFile(num)
{
var obt=document.forms[0].FileValue
var delText=document.getElementById("file"+num).value;
var text=obt.value;
if (text.indexOf("&"+delText)>=0)
delText="&"+delText
text = text.replace(delText, "");
obt.value=text;
} function DelFileValue(value)
{
var obt=document.forms[0].FileValue
var delText=value;
var text=obt.value;
if (text.indexOf("&"+delText)>=0)
delText="&"+delText;
else if (text.indexOf(delText+"&")>=0)
delText=delText+"&";
text = text.replace(delText, "");
obt.value=text;
} function remove(value)
{
DelFile(value);
var Upf=document.getElementById("Upf");
var re=document.getElementById("file"+value);
var re2=document.getElementById("h"+value);
var re3=document.getElementById("b"+value);
Upf.removeChild(re);
Upf.removeChild(re2);
Upf.removeChild(re3); }
function AddFile(value)
{
if (BeforValue !="")
DelFileValue(BeforValue);
var vValue=document.forms[0].FileValue.value;
if (vValue=="")
vValue+=value;
else
vValue+=("&"+value);
document.forms[0].FileValue.value=vValue;
} //-->
</script>
</head> <body>
<form action="MyUpFiles.asp" method="post" >
<div id="Upf"></div>
[<a href="javascript:void(0)" onclick="Creat()">添加一个</a>]<br />
<input type="submit" name="Submit" value="提交"/>
<input name="FileValue" type="hidden" id="FileValue" size="100"/>
</form>
</body>
</html> MyUpFiles.asp
<%
Function GetFileName(ByVal strFile)
If strFile <> "" Then
GetFileName = mid(strFile,InStrRev(strFile, "\")+1)
Else
GetFileName = ""
End If
End Function sValues=request.Form("FileValue")
UpLoadFolder="" if (left(sValues,1)="&") then
sValues=right(sValues,len(sValues)-1)
end if svalue=split(sValues,"&") for i=0 to ubound(svalue)
strFileName = svalue(i)
Response.Write("第"& i+1 & "个上传到:" & (UpLoadFolder & "\" & GetFileName(strFileName))&"<br>")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
objStream.SaveToFile Server.MapPath(UpLoadFolder & "\" & GetFileName(strFileName)),2
objStream.Close
next
%>
这个上传方法比较笨,不过能通过路径来上传文件,如果你有更好的上传文件类,麻烦发份给我,谢谢了~
最好能给路径就能上传的类~~

  

动态上传多个文件(asp)的更多相关文章

  1. 使用ASP.NET上传多个文件到服务器

    在Email系统中经常会上传多个文件到服务器,用户大多习惯一次上传所有的文件,而不是逐个上传,我们可以使用javascript动态地添加file元素到表单,然后在服务器端处理这些file 效果图如下: ...

  2. asp.net 文件上传,大文件上传。

    新建一个asp.net页面,在工具栏里拖入 FileUpload 上传控件.一个按钮 Button  !    !     ! 进入Button事件 //----------------------- ...

  3. ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件

    前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了 ...

  4. ASP.NET CORE使用WebUploader对大文件分片上传,并通过ASP.NET CORE SignalR实时反馈后台处理进度给前端展示

    本次,我们来实现一个单个大文件上传,并且把后台对上传文件的处理进度通过ASP.NET CORE SignalR反馈给前端展示,比如上传一个大的zip压缩包文件,后台进行解压缩,并且对压缩包中的文件进行 ...

  5. HTML5文件上传器,纯脚本无插件的客户端文件上传器---Uploader 文件上传器类

    概述 客户端完全基于JavaScript的 浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务 端处理,由 ...

  6. struts2:上传多个文件时实现带进度条、进度详细信息的示范

    上一篇文章讲了上传单个文件与上传多个文件(属性驱动)的例子.本例是上传多个文件(属性驱动),并且显示进度条.进度详细信息的示范. 在文件上传选择界面,允许用户增加.删除选择的文件,且只能上传指定类型的 ...

  7. KindEditor上传本地图片在ASP.NET MVC的配置

    http://www.cnblogs.com/upupto/archive/2010/08/24/1807202.html 本文解决KindEditor上传本地图片在ASP.NET MVC中的配置. ...

  8. NeatUpload 同时选择并上传多个文件

    neatUpload是asp.net 中可以同时上传多个文件的控件,主页:http://neatupload.codeplex.com/. 效果如下图(显示有点不正常...): 使用步骤: 1. 在a ...

  9. Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)

            一.接收参数(postman发送) 1.form表单 @RequestParam("name") String name 会把传递过来的Form表单中的name对应 ...

随机推荐

  1. use tomcat to access the file cross the environment

    background: 项目中的一个小工具,是一个Cron Job ,每天去搜集下服务器Hadoop Job的运行状态,并生成一份报告发送给整个Team,生产报告的同时把相关的日志文件保存到固定的一台 ...

  2. 洛谷 P1273 有线电视网

    2016-05-31 13:25:45 题目链接: 洛谷 P1273 有线电视网 题目大意: 在一棵给定的带权树上取尽量多的叶子节点,使得sigma(val[选择的叶子节点])-sigma(cost[ ...

  3. android-serialport-api and libusb for android

    libusb for android: Even if you get it compiled, Android is probably not going to let you access the ...

  4. Javascript注意事项二【避免误用parseInt】

    parseInt("123abc"); //123parseInt("1.73"); //1parseInt(".123"); //NaN ...

  5. http 需要掌握的知识点(一)

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.HTTP 也属于 TCP/IP 协议族的子集,想要学习 HTTP ,先需要了解 ...

  6. JavaScript要点 (五) 函数定义

    JavaScript 使用关键字 function 定义函数. 函数可以通过声明定义,也可以是一个表达式. 函数声明分号是用来分隔可执行JavaScript语句. 由于函数声明不是一个可执行语句,所以 ...

  7. ServletContext1

    ---------------ConfigServlet.java----------- protected void doGet(HttpServletRequest request, HttpSe ...

  8. winform 多线程中ShowDialog()步骤无效的解决办法

    private void Form1_Load(object sender, EventArgs e) { Thread thread = new Thread(remind); thread.IsB ...

  9. PHP 文件包含之文件路径截断(转)

    PHP 文件包含之文件路径截断 以下是网络摘要: 1. 本来还以为挖到金矿了,跟黑哥交流后发现只能应用于Win32平台,使这个BUG的威力暴减,基本没有太大危害了,因为在WIN32平台使用PHP的实在 ...

  10. BZOJ 1022 SHOI2008 小约翰的游戏John 博弈论

    题目大意:反Nim游戏,即取走最后一个的人输 首先状态1:假设全部的堆都是1,那么堆数为偶先手必胜,否则先手必败 然后状态2:假设有两个堆数量同样且不为1,那么后手拥有控场能力,即: 若先手拿走一堆, ...