ASP上传文件

作者&投稿:甫届 (若有异议请与网页底部的电邮联系)
怎么样用ASP上传文件~


<%
var self = Request.serverVariables("SCRIPT_NAME");
if (Request.serverVariables("REQUEST_METHOD")=="POST")
{
var oo = new uploadFile();
oo.path = "myFile"; //存放路径,为空表示当前路径,默认为uploadFile
oo.named = "file"; //命名方式,date表示用日期来命名,file表示用文件名本身,默认为file
oo.ext = "all"; //允许上传的扩展名,all表示都允许,默认为all
oo.over = true; //当存在相同文件名时是否覆盖,默认为false
oo.size = 1*1024*1024; //最大字节数限制,默认为1G
oo.upload();
Response.write('location.replace("' self '")');
}

//ASP无组件上传类
function uploadFile()
{
var bLen = Request.totalBytes;
var bText = Request.binaryRead(bLen);
var oo = Server.createObject("ADODB.Stream");
oo.mode = 3;
this.path = "uploadFile";
this.named = "file";
this.ext = "all";
this.over = false;
this.size = 1*1024*1024*1024; //1GB

//文件上传
this.upload = function ()
{
var o = this.getInfo();
if (o.size>this.size)
{
alert("文件过大,不能上传!");
return;
}
var f = this.getFileName();
var ext = f.replace(/^. \./,"");
if (this.ext!="all"&&!new RegExp(this.ext.replace(/,/g,"|"),"ig").test(ext))
{
alert("目前暂不支持扩展名为 " ext " 的文件上传!");
return;
}
if (this.named=="date")
{
f = new Date().toLocaleString().replace(/\D/g,"") "." ext;
}

oo.open();
oo.type = 1;
oo.write(o.bin);
this.path = this.path.replace(/[^\/\\]$/,"$&/");
var fso = Server.createObject("Scripting.FileSystemObject");
if(this.path!=""&&!fso.folderExists(Server.mapPath(this.path)))
{
fso.createFolder(Server.mapPath(this.path));
}
try
{
oo.saveToFile(Server.mapPath(this.path f),this.over?2:1);
alert("上传成功!");
}
catch(e)
{
alert("对不起,此文件已存在!");
}
oo.close();
delete(oo);

}

//获取二进制和文件字节数
this.getInfo = function ()
{
oo.open();
oo.type=1;
oo.write(bText);
oo.position = 0;
oo.type=2;
oo.charset="unicode";
var gbCode=escape(oo.readText()).replace(/%u(..)(..)/g,"%$2%$1");
var sPos=gbCode.indexOf(" ") 12;
var sLength=bLen-(gbCode.substring(0,gbCode.indexOf(" ")).length/3)-sPos/3-6;
oo.close();

oo.open();
oo.type = 1;
oo.write(bText);
oo.position=sPos/3;
var bFile=oo.read(sLength);
oo.close();

return { bin:bFile, size:sLength };
}

//获取文件名
this.getFileName = function ()
{
oo.open();
oo.type = 2;
oo.writeText(bText);
oo.position = 0;
oo.charset = "gb2312";
var fileName = oo.readText().match(/filename=\"(. ?)\"/i)[1].split("\\").slice(-1)[0];
oo.close();
return fileName;
}

function alert(msg)
{
Response.write('alert("' msg '");');
}
}
%>


ASP无组件上传类



" method="post" enctype="multipart/form-data" onSubmit="return (this.upFile.value!='');">






这个是在网上看到的 不过我试了 可以用!

<%@ language="javascript"%>
<%
var self = Request.serverVariables("SCRIPT_NAME");
if (Request.serverVariables("REQUEST_METHOD")=="POST")
{
var oo = new uploadFile();
oo.path = "myFile"; //存放路径,为空表示当前路径,默认为uploadFile
oo.named = "file"; //命名方式,date表示用日期来命名,file表示用文件名本身,默认为file
oo.ext = "all"; //允许上传的扩展名,all表示都允许,默认为all
oo.over = true; //当存在相同文件名时是否覆盖,默认为false
oo.size = 1*1024*1024; //最大字节数限制,默认为1G
oo.upload();
Response.write('<script type="text/javascript">location.replace("' self '")</script>');
}

//ASP无组件上传类
function uploadFile()
{
var bLen = Request.totalBytes;
var bText = Request.binaryRead(bLen);
var oo = Server.createObject("ADODB.Stream");
oo.mode = 3;
this.path = "uploadFile";
this.named = "file";
this.ext = "all";
this.over = false;
this.size = 1*1024*1024*1024; //1GB

//文件上传
this.upload = function ()
{
var o = this.getInfo();
if (o.size>this.size)
{
alert("文件过大,不能上传!");
return;
}
var f = this.getFileName();
var ext = f.replace(/^. \./,"");
if (this.ext!="all"&&!new RegExp(this.ext.replace(/,/g,"|"),"ig").test(ext))
{
alert("目前暂不支持扩展名为 " ext " 的文件上传!");
return;
}
if (this.named=="date")
{
f = new Date().toLocaleString().replace(/\D/g,"") "." ext;
}

oo.open();
oo.type = 1;
oo.write(o.bin);
this.path = this.path.replace(/[^\/\\]$/,"$&/");
var fso = Server.createObject("Scripting.FileSystemObject");
if(this.path!=""&&!fso.folderExists(Server.mapPath(this.path)))
{
fso.createFolder(Server.mapPath(this.path));
}
try
{
oo.saveToFile(Server.mapPath(this.path f),this.over?2:1);
alert("上传成功!");
}
catch(e)
{
alert("对不起,此文件已存在!");
}
oo.close();
delete(oo);

}

//获取二进制和文件字节数
this.getInfo = function ()
{
oo.open();
oo.type=1;
oo.write(bText);
oo.position = 0;
oo.type=2;
oo.charset="unicode";
var gbCode=escape(oo.readText()).replace(/%u(..)(..)/g,"%$2%$1");
var sPos=gbCode.indexOf(" ") 12;
var sLength=bLen-(gbCode.substring(0,gbCode.indexOf(" ")).length/3)-sPos/3-6;
oo.close();

oo.open();
oo.type = 1;
oo.write(bText);
oo.position=sPos/3;
var bFile=oo.read(sLength);
oo.close();

return ;
}

//获取文件名
this.getFileName = function ()
{
oo.open();
oo.type = 2;
oo.writeText(bText);
oo.position = 0;
oo.charset = "gb2312";
var fileName = oo.readText().match(/filename=\"(. ?)\"/i)[1].split("\\").slice(-1)[0];
oo.close();
return fileName;
}

function alert(msg)
{
Response.write('<script type="text/javascript">alert("' msg '");</script>');
}
}
%>
<html>
<head>
<title>ASP无组件上传类</title>
<meta http-equiv="content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form action="<%=self%>" method="post" enctype="multipart/form-data" onSubmit="return (this.upFile.value!='');">
<input type="file" name="upFile"/>
<input type="submit" value="上传文件"/>
</form>
</body>
</html>

这个是在网上看到的 不过我试了 可以用!

<%dim Data_5xsoft

Class upload_5xsoft

dim objForm,objFile,Version

Public function Form(strForm)
strForm=lcase(strForm)
if not objForm.exists(strForm) then
Form=""
else
Form=objForm(strForm)
end if
end function

Public function File(strFile)
strFile=lcase(strFile)
if not objFile.exists(strFile) then
set File=new FileInfo
else
set File=objFile(strFile)
end if
end function

Private Sub Class_Initialize
dim RequestData,sStart,vbCrlf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,theFile
dim iFileSize,sFilePath,sFileType,sFormValue,sFileName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,sFormName
Version="化境HTTP上传程序 Version 2.0"
set objForm=Server.CreateObject("Scripting.Dictionary")
set objFile=Server.CreateObject("Scripting.Dictionary")
if Request.TotalBytes<1 then Exit Sub
set tStream = Server.CreateObject("adodb.stream")
set Data_5xsoft = Server.CreateObject("adodb.stream")
Data_5xsoft.Type = 1
Data_5xsoft.Mode =3
Data_5xsoft.Open
Data_5xsoft.Write Request.BinaryRead(Request.TotalBytes)
Data_5xsoft.Position=0
RequestData =Data_5xsoft.Read

iFormStart = 1
iFormEnd = LenB(RequestData)
vbCrlf = chrB(13) & chrB(10)
sStart = MidB(RequestData,1, InStrB(iFormStart,RequestData,vbCrlf)-1)
iStart = LenB (sStart)
iFormStart=iFormStart+iStart+1
while (iFormStart + 10) < iFormEnd
iInfoEnd = InStrB(iFormStart,RequestData,vbCrlf & vbCrlf)+3
tStream.Type = 1
tStream.Mode =3
tStream.Open
Data_5xsoft.Position = iFormStart
Data_5xsoft.CopyTo tStream,iInfoEnd-iFormStart
tStream.Position = 0
tStream.Type = 2
tStream.Charset ="gb2312"
sInfo = tStream.ReadText
tStream.Close
'取得表单项目名称
iFormStart = InStrB(iInfoEnd,RequestData,sStart)
iFindStart = InStr(22,sInfo,"name=""",1)+6
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFormName = lcase(Mid (sinfo,iFindStart,iFindEnd-iFindStart))
'如果是文件
if InStr (45,sInfo,"filename=""",1) > 0 then
set theFile=new FileInfo
'取得文件名
iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
theFile.FileName=getFileName(sFileName)
theFile.FilePath=getFilePath(sFileName)
'取得文件类型
iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14
iFindEnd = InStr(iFindStart,sInfo,vbCr)
theFile.FileType =Mid (sinfo,iFindStart,iFindEnd-iFindStart)
theFile.FileStart =iInfoEnd
theFile.FileSize = iFormStart -iInfoEnd -3
theFile.FormName=sFormName
if not objFile.Exists(sFormName) then
objFile.add sFormName,theFile
end if
else
'如果是表单项目
tStream.Type =1
tStream.Mode =3
tStream.Open
Data_5xsoft.Position = iInfoEnd
Data_5xsoft.CopyTo tStream,iFormStart-iInfoEnd-3
tStream.Position = 0
tStream.Type = 2
tStream.Charset ="gb2312"
sFormValue = tStream.ReadText
tStream.Close
if objForm.Exists(sFormName) then
objForm(sFormName)=objForm(sFormName)&", "&sFormValue
else
objForm.Add sFormName,sFormValue
end if
end if
iFormStart=iFormStart+iStart+1
wend
RequestData=""
set tStream =nothing
End Sub

Private Sub Class_Terminate
if Request.TotalBytes>0 then
objForm.RemoveAll
objFile.RemoveAll
set objForm=nothing
set objFile=nothing
Data_5xsoft.Close
set Data_5xsoft =nothing
end if
End Sub

Private function GetFilePath(FullPath)
If FullPath <> "" Then
GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
Else
GetFilePath = ""
End If
End function

Private function GetFileName(FullPath)
If FullPath <> "" Then
GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
Else
GetFileName = ""
End If
End function
End Class

Class FileInfo
dim FormName,FileName,FilePath,FileSize,FileType,FileStart
Private Sub Class_Initialize
FileName = ""
FilePath = ""
FileSize = 0
FileStart= 0
FormName = ""
FileType = ""
End Sub

Public function SaveAs(FullPath)
dim dr,ErrorChar,i
SaveAs=true
if trim(fullpath)="" or FileStart=0 or FileName="" or right(fullpath,1)="/" then exit function
set dr=CreateObject("Adodb.Stream")
dr.Mode=3
dr.Type=1
dr.Open
Data_5xsoft.position=FileStart
Data_5xsoft.copyto dr,FileSize
dr.SaveToFile FullPath,2
dr.Close
set dr=nothing
SaveAs=false
end function
End Class
'上面的是化境无组件上传类,关于其它用法你可以去网站www.5xsoft.com

Dim Upload,File
Set Upload=New upload_5xsoft
Set File=Upload.File("file1")
File.SavaAs Server.Mappath("1.jpg")
Set File=Nothing
Set Upload=Nothing
%>

我给你一个最简单的代码,注意把文件与上传的图片放在一个文件夹里就OK了
提交页代码:
<form name="form1" action="upload1.asp" onSubmit="return form1_onsubmit()" method="post">
<tr>
<td width="100%" height="30"></td>
</tr>
<tr>
<td width="100%" height="20">上传新的广告图片:</td>
</tr>
<tr>
<td width="100%" height="30"> <input type="file" name="file1" style="width: 467; height: 23" value=""></td>
</tr>
<tr>
<td width="100%" height="30"><input style="border-style: solid" type="submit" value="确认提交" name="Submit">    
<input style="border-style: solid" type="reset" value="全部重写" name="Submit2">  
 <font color="#ffffff"> </font></td>

接收保存页的代码:
<%
Function GetFileName(ByVal strFile)
If strFile <> "" Then
GetFileName = mid(strFile,InStrRev(strFile, "\")+1)
Else
GetFileName = ""
End If
End function

strFileName = Request.Form("file1")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
objStream.SaveToFile Server.MapPath(GetFileName(strFileName)),2
objStream.Close
%>

自己再修改修改,如果不行,你骂我
upload.asp文件
<%
Function GetFileName(ByVal strFile)
If strFile <> "" Then
GetFileName = mid(strFile,InStrRev(strFile, "\")+1)
Else
GetFileName = ""
End If
End function

strFileName = Request.Form("file1")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
objStream.SaveToFile Server.MapPath(GetFileName(strFileName)),2
objStream.Close
%>

upload.htm文件
<form name="FORM" action="upload.asp" method="post">
<input type="submit" name="submit" value="OK">
<input type="file" name="file1" style="width:400" value="">
</form>

随便哪儿去找个无组件上传就可以了

无声无组件上传 下载:
http://www.gougou.com/search?search=%E6%97%A0%E7%BB%84%E4%BB%B6%E4%B8%8A%E4%BC%A0&id=3


导入文件看不到sp文件怎么办
1、文件路径不正确:确保您正在导入文件的路径是正确的,并且文件名和文件类型正确。路径或文件名不正确,无法找到所需的文件。2、文件被隐藏:文件被设置为隐藏,在文件浏览器中无法看到它们。检查的文件属性,确保它们没有被设置为隐藏。3、文件损坏或丢失:sp文件已经损坏或丢失,无法在导入时找到它。...

苹果手机微信发送word文档给好友怎么发??
第一步:打开WPS,找到要发送的word文档,打开文档右侧展开箭头,会出现如下图所示 第二步:点击左下角的分享箭头,选择在微信中打开 第三步:选择微信中需要发送的对象,打开文档,就可以了

sp保存失败不寻常失败从别人百度云保存文件到我的百度云为什么总保存...
1、有些文件不能被保存。2、你只能传电脑上。3、在从电脑上传你百度云里。本文到此分享完毕,希望对大家有所帮助。

sp怎么导入法线贴图
要导入法线贴图到SP中,你可以按照以下步骤操作:1. 打开SP软件,并创建一个新的项目或打开现有项目。2. 在资源浏览器中找到需要导入法线贴图的模型文件,将其导入到SP中。可以通过拖拽文件到软件界面或使用菜单中的导入选项来完成。3. 定位到导入的模型资源,在材质列表中添加或选择使用的材质。4. 在...

有了域名和空间后如何上传自己的文件和网页?网页如何制作?
OK!进入最重要的主题:『如何上传文件』!首先,先确定已经连通服务器,这只要看看状态列就知道了,如上图的状态列所示,就是连通后的样子。切换到适当目录。先看看左下,这是自己电脑的目录。由于工友所有的网页文件都放在C:www的目录下,所以,先要切换到C:www中。由于工友当初有设置内部目录是C:...

sp文件格式可以用什么打开
SP文件与两种文件类型相关联,可以使用BuchananComputing开发的SignPlot查看。它们通常以SignPlotTrafficSignFile文件格式存在。虽然SP文件主要归类为PageLayoutFiles,但它们有时也可以是DataFiles。SP文件可以在移动和桌面平台上找到,可以在Windows中打开。SP文件扩展名的普及性为“低”,这意味着这些文件在大多数...

S8SP是什么文件?
举个例子,假设我们要传输一份包含重要商业机密的文件。使用S8SP加密路线,我们可以对文件进行加密,确保在传输过程中即使被拦截也无法被解密和读取。而使用隐藏路线,我们可能会将这份文件伪装成一幅普通的图片或文档,使其在传输过程中不易被察觉和识别。总的来说,S8SP加密路线和隐藏路线在保护数据安全...

SP业务是什么意思?
SP,Service Provider服务提供商的简称 。电信增值业务是指凭借公用电信网的资源和其它通信设备而开发的附加通信业务,其实现的价值使原有网路的经济效益或功能价值增高。有时称之为增强型业务。 增值业务广义上分成两大类:一是以增值网(VAN)方式出现的业务。增值网可凭借从公用网租用的传输设备,使用...

maya拆分完后要保存为什么格式才能导入SP
文件内导入。导入步骤如下:1、打开maya拆分后的文件,点击设置。2、打开菜单栏,选择3d格式,点击SP选择导入点击确定就可以。

sp文件放哪个盘
sp文件应该放在C盘里。sp是Service Pack的缩写。微软每推出一个软件后,都会不定期地推出一些补丁程序,依时间先后称为SP1、SP2等等。

且末县13264272945: 用ASP如何实现文件上传,最好有原代码 -
謇凝补血: '文件上传类 Class UpFile_Class Dim Form,File Dim AllowExt_ '允许上传类型(白名单) Dim NoAllowExt_ '不允许上传类型(黑名单) Dim IsDebug_ '是否显示出错信息 Private oUpFileStream '上传的数据流 Private isErr_ '错误的代码,0或true表...

且末县13264272945: 怎么上传ASP文件到ASP空间里去?
謇凝补血: 那要看你用的是哪个公司提供的空间,如果那个公司提供的空间支持FTP上传,就把该公司给的特定FTP上传地址记下来,用FTP上传工具或者按下面的格式打开空间ftp://账号:密码@FTP服务器IP地址 如: ftp://fzl:123@192.168.0.1 打开空间后把想要的文件往里面拖拽或或复制粘贴就行了 如果不支持FTP上传,那网站上一定有空间后台管理,在后台管理里可以找到上传...,WEB上传方式速度慢而且不方便,不过空间不支持也没法

且末县13264272945: 怎样把文件上传到asp空间
謇凝补血: 下载个LeapFTP,把需要上传的文件全传上去,当然,要先选好需要存放的目录文件夹. 运行install.asp就可以了. 可以的啊, ASP文件和其他文件的上传方法一样, 都可以使用FTP软件(如CuteFTP或FlashFXP等)上传到服务器(注意,如果要使用ASP的网页程序,服务器必须支持ASP)上, 然后就可以通过浏览器访问了, 至于如何上传,可以参照 这里说得非常详细哈,祝你成功! 参考资料: http://www.wanxu.com/help/flashfxp/index.html

且末县13264272945: 怎么将文件传到ASP空间
謇凝补血: 【一】、去天空软件站下载一个FTP管理工具 http://www.skycn.com/soft/683.html 【二】、点击工具栏上的“快速链接”按钮 填上你的空间IP,用户名及密码即可进入FTP管理界面,然后将你的文件拖到右则窗口,即可以将文件上传至你的空间.

且末县13264272945: 文件上传用ASP怎么做?谢谢!
謇凝补血: 文件地址 c dim upfile_Stream Class upload_F dim Form,File,Version Private Sub Class_Initialize dim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,...

且末县13264272945: asp文件上传 详细解释
謇凝补血: 没什么可解释的, 这种上传方式用的是BinaryRead流来处理上传的文件, 大概是以二进制的数据形式来处理 文件上传直接用组件,现在很多ASP服务器都有预装上传组件 如果是图片的话,大部份都装asp.jpeg 也可以用“无组件上传类”,下载一个就有了 什么格式都能上传,也是以这种BinaryRead方式来处理数据的

且末县13264272945: 上传ASP怎么上传啊? -
謇凝补血: 既然是上传,那么一定是有服务器或空间(如果是自己的服务器,那么现在服务器里面创建站点),那么就应该有空间的ftp地址、账号及密码,使用上传工具(举例:flashfxp、cuteftp等),录入ftp信息后,打开服务器空间,界面一般分左右两边,左边是本机,右边是服务器(也可以自己设置),一般服务器里面会有个wwwroot的文件夹,从左边找到本机要上传的asp文件,把根目录的程序上传到wwwroot文件夹下即可.

且末县13264272945: 请教高手,如何实现用ASP上传文件夹及文件夹下的内容 -
謇凝补血: 进入DOS状态,方法:程序->附件->命令提示符 或 运行->cmd输入e:回车,然后输入cd e:\XXXX进入文件夹.(XXXX表示文件夹名称) 该回答在由回答者修改

且末县13264272945: 怎么样把ASP文件上传到ASP空间?
謇凝补血: 在购买空间后,网络服务商会为你提供一个FTP给你放网站资料(网站源代码,图片,数据库等),这样你就可以用该FTP帐号把资料传到空间上了,有两种详细方法: 1>直接用如ftp://5201320.com这个的地址进行浏览,然后提供输入用户和密码 ,接下来的操作就跟操作本地文件夹一样的了. 2>使用FTP上传工具(如leadFTP,FlashFXP等)来操作.工具在许多网站都可以找到.如http://www.5201320.com/520/pages/software.asp#?typeid=293981832 我们在提供专业的网站设计的同时,也为客户提供了更健全的网络服务!

且末县13264272945: 想用asp实现上传功能
謇凝补血: asp 文件上传..... http://www.newxing.com/Tech/Asp/shili/33.html

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网