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. Vmware Ubuntu 虚拟机下Android开发环境搭建

    概况: 1.安装jdk: 2.安装adt-bundle: 1.安装jdk 先下载linux下的jdk,我下的是 jdk-7u13-linux-i586 :然后解压,为方便,建个文件夹--/home/x ...

  2. Android应用正确使用扩展SD卡,特别是安卓4.4以后的版本

    Android 开发时如何正确获取使用扩展存储路径 在 2.x 版本中,Android设备都是单存储,第三方App写文件,必须申请 WRITE_EXTERNAL_STORAGE 权限: 在4.0之后, ...

  3. position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?

    这是寒冬大神提出的一个题目,刚开始看到这题的时候完全不知道从什么地方回答起好,题目内容比较广泛,找不到针对点.后来我觉得这个题目应该能拆成几个点来回答:1.'display'.'position' 和 ...

  4. Android 开机默认横竖屏

    做Android系统开发时,经常遇到机器开机默认横竖屏问题,现整理如下: 方法一:修改WindowManagerService.java 在这个类中修改int mRotation = 0;这个值即可. ...

  5. C# Winform 支持Hex与ASCII输入和切换的文本框

    最近一直在做一个支持串口,TCP,UDP通讯调试的一体化工具(也就是C#串口调试工具 v2.0的第三版),其中涉及到16进制数据和ASCII码的输入,所以继承了TextBox的基础上,写了这个支持He ...

  6. OpenCV 读取.xml文件

    OpenCV 只提供了读取和存储.xml和.yml 文件格式的函数. 读取.xml文件的C++例程如下: cv::FileStorage fs; //OpenCV 读XML文件流 cv::Mat De ...

  7. LVS NAT模型

    1,环境 VMWare10, CentOS6.3 2,LVS NAT网络规划 可以看到Director机器有2个IP,也就是说需要2张网卡:Real Server只需要一个网卡. VIP: 虚拟IP, ...

  8. DP练习(初级):ZigZag

    题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493 类似于求最长子串的方法.dp[0 ...

  9. TigerDLNA for ios 集成Tlplayer

    好久没有写博客了,这次带着TigerDLNA for ios 跟大家见面 什么都不说先上图 1.优点 优点由于libTigerDLNA使用uiview封装,所以大家可以很方便的集成到自己的项目中.由于 ...

  10. iOS使用宏写单例

    本文只介绍ARC情况下的单例 过去一直背不下来单例如何写,就是知道这么回事,也知道通过宏来写单例,但是一直记不住,今天就来记录一下 - (void)viewDidLoad {     [super v ...