顶者有分,200分求上传组件AspSmartUpload 和 SoftArtisans FileUp的使用方法!

lijun355 2005-11-18 09:59:44
具体版本为:
SoftArtisans FileUp 4.0
AspSmartUpload 3.03

小弟初次涉及到上传组件的问题,请大家能具体的说一下使用的方法!
小弟感谢!
...全文
542 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
king_shadow 2005-11-18
  • 打赏
  • 举报
回复
没用过
帮你找了点代码,自己研究下~

1.------------------------------upload.htm
<html>
<body>
<form action="upload.asp" method=post name=form ENCTYPE="multipart/form-data">
FileName<input type="text" name=filetitle value="在这里输入文件名,不得为空"><P>

<input type="file" name=file1 value="G:\DevDocument\Signup Error.htm"><P>
<input type="SUBMIT" name=submit value="上传"></form>

</body>
</html>
2.---------------------------------

<%

%>

<%
'调用aspSmartUpload组件进行上传
'response.write(session("filetitle")&"<p>")
' response.write(session("fileName")&"<p>")
'------------1. Variables
' *********
Dim myUpload
Dim intCount,tmpid
Dim Conn,rs
Dim curDir,strfilename,file
'-----------2. Object creation
Set myUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
myUpload.Upload
'response.write(MyUpLoad.Form(1).Name)
'------------3. Use DATABASE
Set Conn = Server.CreateObject("ADODB.Connection")
curDir = Server.MapPath("kris.mdb")
Conn.Open "DBQ="& curDir &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Set Rs = Server.CreateObject("ADODB.recordset")
Set Rs.ActiveConnection = Conn

Rs.LockType = 2
rs.CursorType=1
'查询语句或文档
'1,记录集中的记录是只读的,因此不允许修改;2,当一个记录第一次被修改时,就强其锁定;3,当一个记录正在被更新时,就将其锁定
For each file In myUpload.Files'相当于定义了file对象
rs.Source = "SELECT top 1 id FROM upload Order by Id Desc"
Rs.Open
tmpid=Cint(rs("id"))+1
'命名上传之后的文件
strfilename=Cstr(tmpid)&file.FileName 'file.FileName这个函数不支持中文
'------------------Test
response.write("File.FileExt:"&File.FileExt&"<P>")
response.write("File.FilePathName:"&File.FilePathName&"<P>")
response.write("File.ContentType:"&File.ContentType&"<P>")
response.write("File.ContentDisp:"&File.ContentDisp&"<P>")
response.write("File.FileName:"&UploadFileName&"<P>")'这个函数有缺陷,不认识中文
response.write("File.ContentString:"&File.ContentString&"<P>")
'写入数据库
Set rs=nothing
Set Rs = Server.CreateObject("ADODB.recordset")
Set Rs.ActiveConnection = Conn
Rs.Source ="select * from upload"' strSQL
Rs.LockType = 2
rs.CursorType=1
rs.open
rs.AddNew
rs ("title") =session("filetitle")
rs("FileName")=strfilename
rs("fileUrl")="/uploadkris/"&strfilename
rs.Update
IntCount=IntCount+1
' file.FileName = strfilename
file.Saveas("uploadkris/" &strfilename)
Set rs=Nothing
Next
' intCount = mySmartUpload.Save("UploadKris")
' sample with a physical path
' intCount = mySmartUpload.Save("c:\temp\")
' Display the number of files uploaded
' ************************************
Response.Write(intCount & " file(s) uploaded.")
' response.write(request("filetitle")&"<p>")
%>
melted 2005-11-18
  • 打赏
  • 举报
回复
没有接触过!

先帮你顶一下!
lijun355 2005-11-18
  • 打赏
  • 举报
回复
自己顶!
woshiliumang 2005-11-18
  • 打赏
  • 举报
回复
给你一个例子:
<%
const upload_type=0 '上传方法:0=无惧无组件上传类,1=FSO上传 2=lyfupload,3=aspupload,4=chinaaspupload

dim upload,file,formName,SavePath,filename,fileExt
dim upNum
dim EnableUpload
dim Forumupload
dim ranNum
dim uploadfiletype
dim msg,founderr
msg=""
founderr=false
EnableUpload=false
SavePath = SaveUpFilesPath '存放上传文件的目录
if right(SavePath,1)<>"/" then SavePath=SavePath&"/" '在目录后加(/)
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body leftmargin="2" topmargin="0" marginwidth="0" marginheight="0">
<%
if EnableUploadFile="No" then
response.write "系统未开放文件上传功能"
else
if session("Admin")="" then
response.Write("请登录后再使用本功能!")
response.end
else
select case upload_type
case 0
call upload_0() '使用化境无组件上传类
case else
'response.write "本系统未开放插件功能"
'response.end
end select
end if
end if
%>
</body>
</html>
<%
sub upload_0() '使用化境无组件上传类
set upload=new upload_file '建立上传对象
for each formName in upload.file '列出所有上传了的文件
set file=upload.file(formName) '生成一个文件对象
if file.filesize<100 then
msg="请先选择你要上传的文件!"
founderr=true
end if
if file.filesize>(MaxFileSize*1024) then
msg="文件大小超过了限制,最大只能上传" & CStr(MaxFileSize) & "K的文件!"
founderr=true
end if

fileExt=lcase(file.FileExt)
Forumupload=split(UpFileType,"|")
for i=0 to ubound(Forumupload)
if fileEXT=trim(Forumupload(i)) then
EnableUpload=true
exit for
end if
next
if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" then
EnableUpload=false
end if
if EnableUpload=false then
msg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileType
founderr=true
end if

strJS="<SCRIPT language=javascript>" & vbcrlf
if founderr<>true then
randomize
ranNum=int(900*rnd)+100
filename=SavePath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt

file.SaveToFile Server.mappath(FileName) '保存文件

msg="上传文件成功!"

strJS=strJS & "parent.HtmlEdit.focus();" & vbcrlf
strJS=strJS & "var range = parent.HtmlEdit.document.selection.createRange();" & vbcrlf
FileType=right(fileExt,3)
select case FileType
case "jpg","gif","png","bmp"
strJS=strJS & "range.pasteHTML('<img src=" & filename & ">');" & vbcrlf
case "swf"
strJS=strJS & "range.pasteHTML('<object classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0>"
strJS=strJS & "<param name=movie value=" & FileName & ">"
strJS=strJS & "<param name=quality value=high>"
strJS=strJS & "<embed src=" & FileName & " quality=high pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash type=application/x-shockwave-flash>"
strJS=strJS & "</embed></object>');" & vbcrlf
case else
strJS=strJS & "range.text='[upload=" & FileType & "]" & FileName & "[/upload]';" & vbcrlf
end select
strJS=strJS & "parent.parent.myform.IncludePic.checked=true;" & vbcrlf
strJS=strJS & "parent.parent.myform.DefaultPicUrl.value='" & filename & "';" & vbcrlf
strJS=strJS & "parent.parent.myform.DefaultPicList.options[parent.parent.myform.DefaultPicList.length] = new Option('" & filename & "','" & filename & "');" & vbcrlf
strJS=strJS & "parent.parent.myform.DefaultPicList.selectedIndex+=1;" & vbcrlf
strJS=strJS & "if(parent.parent.myform.UploadFiles.value==''){" & vbcrlf
strJS=strJS & "parent.parent.myform.UploadFiles.value+='" & filename & "';}" & vbcrlf
strJS=strJS & "else{" & vbcrlf & "parent.parent.myform.UploadFiles.value+='|'+'" & filename & "';}" & vbcrlf
end if
strJS=strJS & "alert('" & msg & "');" & vbcrlf
strJS=strJS & "history.go(-1);" & vbcrlf
strJS=strJS & "parent.HtmlEdit.focus();" & vbcrlf
strJS=strJS & "</script>"
response.write strJS
set file=nothing
next
set upload=nothing
end sub
%>
Hunts 2005-11-18
  • 打赏
  • 举报
回复
mark
A_TRY 2005-11-18
  • 打赏
  • 举报
回复
我现在也在学文件上传
想知道一点
A_TRY 2005-11-18
  • 打赏
  • 举报
回复
lijun355 2005-11-18
  • 打赏
  • 举报
回复
感谢大家,顶的也有分,大家继续呀!

znjgress(剑客),能把例子发我EMAIL吗?

sherlock777@163.com 这个邮箱也是我的MSN!
hancheng 2005-11-18
  • 打赏
  • 举报
回复
<HTML>
<BODY BGCOLOR="white">
<H1>aspSmartUpload :upload</H1>
<HR>
<%
'按随机文件名上送到服务器
on Error Resume Next
Dim mySmartUpload
Dim intCount
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.AllowedFilesList = "gif,GIF,jpg,JPG"
mySmartUpload.TotalMaxFileSize=200000

mySmartUpload.Upload
'intCount = mySmartUpload.Save("Upload")

randomize
ranNum=int(90000*rnd)+10000
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
mySmartUpload.files.item(1).saveas server.mappath("Upload\"&filename&"."&mySmartUpload.files.item(1).FileExt) '上送并保存到当前目录下


if Err <> 0 then
response.write "上传文件错误: <font color=ff0000>"&Err.Description&"</font>"
else
Response.Write(intCount & " file(s) uploaded.====>")
'檔案表單欄位、檔案大小、檔名、副檔名、路徑、等等
'file.Name、file.Size、file.FileName、file.FileExt、file.FilePathName、......
Response.write(mySmartUpload.files.item(1).FileName)
end if
%>
</BODY>
</HTML>
尚和空四 2005-11-18
  • 打赏
  • 举报
回复
我可以给你个AspSmartUpload 的例子。
laogou 2005-11-18
  • 打赏
  • 举报
回复
使用aspSmartUpload进行asp的文件上传

1.------------------------------upload.htm
<html>
<body>
<form action="upload.asp" method=post name=form ENCTYPE="multipart/form-data">
FileName<input type="text" name=filetitle value="在这里输入文件名,不得为空"><P>

<input type="file" name=file1 value="G:\DevDocument\Signup Error.htm"><P>
<input type="SUBMIT" name=submit value="上传"></form>

</body>
</html>
2.---------------------------------

<%

%>

<%
'调用aspSmartUpload组件进行上传
'response.write(session("filetitle")&"<p>")
' response.write(session("fileName")&"<p>")
'------------1. Variables
' *********
Dim myUpload
Dim intCount,tmpid
Dim Conn,rs
Dim curDir,strfilename,file
'-----------2. Object creation
Set myUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
myUpload.Upload
'response.write(MyUpLoad.Form(1).Name)
'------------3. Use DATABASE
Set Conn = Server.CreateObject("ADODB.Connection")
curDir = Server.MapPath("kris.mdb")
Conn.Open "DBQ="& curDir &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Set Rs = Server.CreateObject("ADODB.recordset")
Set Rs.ActiveConnection = Conn

Rs.LockType = 2
rs.CursorType=1
'查询语句或文档
'1,记录集中的记录是只读的,因此不允许修改;2,当一个记录第一次被修改时,就强其锁定;3,当一个记录正在被更新时,就将其锁定
For each file In myUpload.Files'相当于定义了file对象
rs.Source = "SELECT top 1 id FROM upload Order by Id Desc"
Rs.Open
tmpid=Cint(rs("id"))+1
'命名上传之后的文件
strfilename=Cstr(tmpid)&file.FileName 'file.FileName这个函数不支持中文
'------------------Test
response.write("File.FileExt:"&File.FileExt&"<P>")
response.write("File.FilePathName:"&File.FilePathName&"<P>")
response.write("File.ContentType:"&File.ContentType&"<P>")
response.write("File.ContentDisp:"&File.ContentDisp&"<P>")
response.write("File.FileName:"&UploadFileName&"<P>")'这个函数有缺陷,不认识中文
response.write("File.ContentString:"&File.ContentString&"<P>")
'写入数据库
Set rs=nothing
Set Rs = Server.CreateObject("ADODB.recordset")
Set Rs.ActiveConnection = Conn
Rs.Source ="select * from upload"' strSQL
Rs.LockType = 2
rs.CursorType=1
rs.open
rs.AddNew
rs ("title") =session("filetitle")
rs("FileName")=strfilename
rs("fileUrl")="/uploadkris/"&strfilename
rs.Update
IntCount=IntCount+1
' file.FileName = strfilename
file.Saveas("uploadkris/" &strfilename)
Set rs=Nothing
Next
' intCount = mySmartUpload.Save("UploadKris")
' sample with a physical path
' intCount = mySmartUpload.Save("c:\temp\")
' Display the number of files uploaded
' ************************************
Response.Write(intCount & " file(s) uploaded.")
' response.write(request("filetitle")&"<p>")
%>
3.---------------数据库格式
"Id" "FileName" "FileUrl" "File" "Title"
laogou 2005-11-18
  • 打赏
  • 举报
回复
asp上传现在用无惧上传(或化境无组件上传)的无组件上传
也免安装
那些要安装的组件不常用
SoftArtisans.FileUp应用

建立SA FileUp 对象的方法:
Set oFileUp = Server.CreateObject("SoftArtisans.FileUp")

取出表单所有项的方法:
For Each strFormElement In oFileUp.Form
用 oFileUp.Form(strFormElement)就可以引用每个对象,文件也是这样
注意:如果是多选下拉框,则用oFileUp.FormEx(strFormElement)
可以这样来遍历它。
For Each strSubItem In oFileUp.FormEx(strFormElement)
Response.Write( strSubItem & "<BR>")
Next
Next

ContentType属性:
oFileUp.Form(strFormElement).ContentType
可以得到文件的MIME类型

IsEmpty属性
oFileUp.Form(strFormElement).IsEmpty
可以知道用户是不是指定了一个无效的文件

MaxBytes属性
oFileUp.Form(strFormElement).MaxBytes=30000
指定文件的限制,单位为Byte,如果超过它,那么只存储MaxBytes指定的大小。其余舍弃。

ServerName属性
oFileUp.Form(strFormElement).ServerName
可以得到文件保存到服务器的完整路径。

ShortFilename属性
oFileUp.Form(strFormElement).ShortFilename
可以得到客户端的文件名,注意只是文件名,我这里没有用,因为报错。呵呵。

UserFilename属性
oFileUp.Form(strFormElement).UserFileName
可以得到客户端文件的完整路径。可以输出一下给用户看看。

TotalBytes属性
oFileUp.Form(strFormElement).TotalBytes
可以得到文件的大小,单位为Byte

SaveInVirtual(路径)方法
oFileUp.Form(strFormElement).SaveInVirtual "upfile/"
oFileUp.Form(strFormElement).SaveInVirtual "upfile/aa.abc"
如果只指定了路径,则保留原文件名,否则按指定指定文件名保存
服务器管理员可以禁止掉其他所有方法,但这个一定会留的。

SaveAs (文件名)方法
oFileUp.Form(strFormElement).SaveAs "C:\aa\a.tmp"
如果没有指定路径,只是指定了文件名,那么将用Path属性指定的路径。
Path属性一会介绍。

Save方法
oFileUp.Path="D:\wwwroot\abc\upfile\"
注意必须是真实路径,可以用Server.MapPath来转换虚拟路径。
oFileUp.Form(strFormElement).Save
不能指定文件名喽。

注意:Path属性必须在提到任何表单项之前,建议放在
Set oFileUp = Server.CreateObject("SoftArtisans.FileUp")
的后面。前提是你用的话。

Delete (文件名,可选)
oFileUp.Form(strFormElement).Delete
从服务器上删除文件,如果不指定文件名,则删除当前的文件。
如果指定的话,必须是文件的完整路径。

Flush方法
oFileUp.Flush
当你不想保存任何东西的时候,可以用它来放弃全部的输入流。

事例::::::::::::::::::::
本例属于文件和表单项的混合提交。

简单说明:
虽然重点在处理页上,但我觉得有必要介绍一下表单的项目。
本例是相册里像片的上传。
其中的groupID是隐藏域传递的大类的ID
其中的albumID是隐藏域传递的小类的ID
file1-->>file5是文件
photoTitle1-->>photoTitle5 是像片的标题
photoIntro1-->>photoIntro5 是像片的简介
photoWidth1-->>photoWidth5 是像片的宽度
photoHeight1-->>photoHeigth5 是像片的高度
photoSize1-->>photoSize5 是像片的大小。

注意:因本人没有声明变量的习惯,所以大家要是强制声明变量的话,就得自己加了。
===========================================

提交页:主要代码如下
<form name="fileForm" method="post" action="photo_savephoto.asp" enctype="multipart/form-data" onSubmit="return checkForm();">

<INPUT name="groupID" type="hidden" id="groupID" value="<%=groupID%>" size="10">
<INPUT name="albumID" type="hidden" id="albumID" value="<%=albumID%>" size="10">

  上传说明:最多可以同时上传五个文件,其中标题最多30字,简介200字。

<table width="96%" align="center" cellpadding="4" cellspacing="2">
<tr align="center" valign="middle">
<td align="left" bgcolor="#F4CECE" id="upid">文件1</td>
<td height="29" align="left" bgcolor="#F4CECE" id="upid"> <INPUT name="file1" type="file" class="myInput" size="20">
宽: <INPUT name="photoWidth1" type="text" class="input-disabled" id="photoWidth1" size="5" readonly="">
高: <INPUT name="photoHeight1" type="text" class="input-disabled" id="photoHeight1" size="5" readonly="">
大小:<INPUT name="fileSize1" type="text" class="input-disabled" id="fileSize1" size="5" readonly="">
</td>
</tr>
<tr align="center" valign="middle">
<td colspan="2" align="left" bgcolor="#FDF2F2" id="upid">
标题: <INPUT name="photoTitle1" type="text" class="myInput" id="photoTitle1" size="40">
<BR>
简介:<TEXTAREA name="photoIntro1" cols="60" rows="5" class="myInput" id="photoIntro1"></TEXTAREA>
</td>
</tr>

。。。。。。。

<tr align="center" valign="middle" bgcolor="#F4CECE">
<td height="24" colspan="2">
<input name="Submit" type="submit" class="myButton" value="开始上传">
<input name="Submit2" type="reset" class="myButton" value="重新填写">
</td>
</tr>
</table>
</form>
下面的script是我用来检查图片属性的。其中检查了图片的宽度,高度,大小,是否是图片。

<SCRIPT language="JavaScript">
<!--
var upFileSize=<%=upFileSize%>;
//-->
</SCRIPT>

<SCRIPT language="JavaScript" src="photo_addphoto.js"></SCRIPT>

<TABLE width="98%" border="0" cellpadding="0" cellspacing="0" style="table-layout:fixed;">
<TR>
<TD height="1"><img src="images/add.gif" id="loadPhoto" onload="if(!firstLoad)showInfo();"></TD>
</TR>
</TABLE>

===============
这里只写出了一个文件的相关输入框,其他四个类似。
说明一点,并不是有5 个的限制,只是我这里只写了5个。
其中的photo_addphoto.js在客户端对图片进行一遍检查,不是图片的会提示,大小超过限制的也会提示。
这样就避免了用户经过耐心的等待后才被告诉不合标准的烦恼

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧