| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1952 人关注过本帖
标题:SoftArtisans.FileUp方法图片上传``
只看楼主 加入收藏
3201
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2005-4-12
收藏
 问题点数:0 回复次数:4 
SoftArtisans.FileUp方法图片上传``
请问一下 用SoftArtisans.FileUp 组件方法上传文件
保存的时候 怎么才能让上传的文件名 与 保存的文件名相同?
搜索更多相关主题的帖子: FileUp SoftArtisans 
2006-04-21 10:21
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
[转载]

<%
Server.ScriptTimeOut=5000 '--脚本超时设置为5000
%>
<!--#include file="conn.asp" -->
<%
Set oFileUp = Server.CreateObject("SoftArtisans.FileUp")
'--建立SA FileUp Object
'oFileUp.Path = Server.MapPath("/upfile/") '--我这里要自己定义文件名,所以没有使用Path属性,注意这句被注释掉了。

strRestrictBy = "" '--文件验证方式,分为extension和ContentType
iCount=0 '--文件上传数的计数变量
formPath="upfile/" '文件保存位置
'-----------检查是否有在此位置上传的权限-----------这里省略了。
groupID=trim(oFileUp.form("groupID"))
albumID=trim(oFileUp.form("albumID"))
'-----------检查权限完成------

if errMsg="" then '----如果到此还没有错误
For Each strFormElement In oFileUp.Form
If IsObject(oFileUp.Form(strFormElement)) Then
'如果是文件
If Not oFileUp.Form(strFormElement).IsEmpty Then '--文件不为空
flagOK=1
'--不是文件或文件大于限制,设置错误信息
If oFileUp.Form(strFormElement).TotalBytes<100 Then
flagOK=0
ElseIf oFileUp.Form(strFormElement).TotalBytes> upFileSize Then
flagOK=0
errMsg=errMsg+"文件:"
errMsg = errMsg & oFileUp.Form(strFormElement).UserFileName
errMsg = errMsg & " 大于"&upFileSize\1024&"KB!<br>"
Else
If strRestrictBy = "extension" Then
'--验证方式为扩展名
strShortFileName = mid(oFileUp.Form(strFormElement).UserFileName,InStrRev(oFileUp.Form(strFormElement).UserFileName, "\")+1) '取得文件名
strExtension = Mid(strShortFileName, InStrRev(strShortFileName, ".")) '取得扩展名
'======检查后缀名====
Select Case LCase(strExtension)
Case ".jpg", ".gif", ".bmp",".png"

Case Else
flagOK=0
oFileUp.Form(strFormElement).Delete
Response.Write("<B>错误:</B> 扩展名为 <I>")
Response.Write(strExtension)
Response.Write ( "</I> 的文件不能被上传。<BR>")
End Select
Else
'--验证方式为MIME类型
strContentType = oFileUp.Form(strFormElement).ContentType
Select Case LCase(strContentType)
Case "image/gif", "image/jpeg", "image/pjpeg"
Case Else
flagOK=0
oFileUp.Form(strFormElement).Delete
Response.Write("<B>错误:</B> MIME类型为 <I>")
Response.Write (strContentType)
Response.Write ("</I> 的文件不能被上传。<BR>")
End Select
End If
'--end if 验证方式
End If 'end if 文件大小判断

If flagOK=1 Then '如果文件通过检查,保存文件,并插入数据库纪录
randomize
ranNum=int(900*rnd)+100
filename=year(now())&month(now())&day(now())
filename = filename &hour(now())&minute(now())
filename = filename&second(now())&ranNum
filename = filename&LCase(strExtension)
oFileUp.Form(strFormElement).SaveInVirtual formPath&filename
'让文件名不重复,保存文件,这里用的是SaveInVirtual方法

'--输出服务器上的文件路径
Response.Write oFileUp.Form(strFormElement).ServerName & ":ServerName<BR>"

'--输出客户端的文件路径
Response.Write "<BR><B>文件:</B>"
Response.Write (oFileUp.Form(strFormElement).UserFileName)
Response.Write "<BR>"

'--输出该文件的大小
Response.Write "<B>大小:</B>"&
Response.Write oFileUp.Form(strFormElement).TotalBytes
Response.Write "<BR>"
'===添加文件的信息到数据库里===
myIndex=right(strFormElement,1) '--取得文件的序号,如file1则取得为1,file2取得为2
temp_photoTitle=oFileUp.form("photoTitle"+myIndex) '--这四行取得对应的标题,简介,宽度,高度
temp_photoIntro=oFileUp.form("photoIntro"+myIndex)
temp_photoWidth=oFileUp.form("photoWidth"+myIndex)
temp_photoHeight=oFileUp.form("photoHeight"+myIndex)
'====检查输入,为空则给初值==
temp_photoTitle=replace(trim(temp_photoTitle),"'","''")
if temp_photoTitle="" then
temp_photoTitle="没有填写"
end if
temp_photoIntro=replace(trim(temp_photoIntro),"'","''")
if temp_photoIntro="" then
temp_photoIntro="没有填写"
end if
if temp_photoWidth="" or not IsNumeric(temp_photoWidth) then
temp_photoWidth=160
end if
if temp_photoHeight="" or not IsNumeric(temp_photoHeight) then
temp_photoHeight=120
end if
'===插入数据库===
FileSize=oFileUp.Form(strFormElement).TotalBytes
sql = "insert into TBL_PHOTO(albumID, groupID, userName, addTime, photoFilename, photoTitle, photoIntro, photoClick, photoSize, photoWidth, photoHeight, locked,viewPassword) values(" & albumID & "," & groupID & ",'" & session("userName") & "','" & Now() & "','" & filename & "','" & temp_photoTitle & "','" & temp_photoIntro & "',1," & FileSize & "," & temp_photoWidth & "," & temp_photoHeight & ",'no','')"
conn.execute sql
sql="update TBL_ALBUM set photoCount=photoCount+1 where albumID="&albumID
conn.execute sql
sql="update TBL_GROUP set photoCount=photoCount+1 where groupID="&groupID
conn.execute sql
'===输出上传成功信息===
iCount=iCount+1
End If

Else
Response.Write strFormElement & "对象为空!"
End If
'--end if 对象为空
End If '--end if 是否是文件
Next
Set oFileUp = Nothing
'删除此对象
end if '--end if 没有错误信息

response.write "<br>"&iCount&" 个文件上传结束!"
response.write "<br><a href='photo_listphoto.asp?albumID="&albumID&"'><B>返回相册</B></a>"
'=====如果有错,输出错误信息=====
if errMsg<>"" then
response.write "<br>"&errMsg
response.write "<INPUT type='button' onClick='history.go(-1)' value='返回' class='myInput'>"
end if
conn.close
set conn=nothing
%>

2006-04-21 10:26
piaoxue
Rank: 3Rank: 3
来 自:地球
等 级:论坛游侠
威 望:3
帖 子:606
专家分:113
注 册:2005-9-19
收藏
得分:0 
版主真强    哈哈.    这是什么呀?  看的眼都花了!!

我是做平面设计、网站制作、网站推广、主机域名等业务的站长。有需要的给我站内信吧。
2006-04-21 10:37
3201
Rank: 1
等 级:新手上路
帖 子:174
专家分:0
注 册:2005-4-12
收藏
得分:0 
版主大人,这个代码是不是有很多都是没用的代码啊? 看到眼都花了
还想问个问题,请问一下 我用FORM传递图片的名称,好让图片保存时以输入的名称作为名称,但是在处理的ASP文件中 用request.form()接了 图片名称之后,再用SoftArtisans.FileUp 保存图片,会出现以下错误提示 :
"Request 对象, ASP 0206 (0x80004005)
使用 Request.Form 集合之后,不能调用 BinaryRead。"
请问这又如何解决呢?

努力中的菜鸟,请多支持············ 蠢问题多,请多见谅···········o_0
2006-04-21 15:20
xinke841
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-4
收藏
得分:0 
2006-05-05 15:53
快速回复:SoftArtisans.FileUp方法图片上传``
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017224 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved