源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 997|回复: 1
打印 上一主题 下一主题

菜鸟求助,上传不改名字

[复制链接]

23

主题

230

帖子

0

金币

初级会员

Rank: 1

积分
292
QQ
跳转到指定楼层
1#
发表于 2012-3-28 09:56:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是原文件

<!--#include file="Include/Startup.asp"-->
<!--#include file="Include/upfile_class.asp"-->


<%
Server.ScriptTimeOut = 1800
Dim sType, sStyleName
Dim sAllowExt, nAllowSize, sUploadDir

Call InitUpload()                ' 初始化上传变量
Call DBConnEnd()                ' 断开数据库连接


Dim sAction
sAction = UCase(Trim(Request.QueryString("action")))

Call ShowForm()                        ' 显示上传表单
If sAction = "SAVE" Then
        Call DoSave()                ' 存文件
End If



Sub ShowForm()
%>
<HTML>
<HEAD>
<TITLE>文件上传</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
body, a, table, div, span, td, th, input, select{font:9pt;font-family: "宋体", Verdana, Arial, Helvetica, sans-serif;}
body {padding:0px;margin:0px}
</style>

<script language="JavaScript" src="dialog/dialog.js"></script>

</head>
<body bgcolor=menu>

<form action="?action=save&type=<%=sType%>&style=<%=sStyleName%>" method=post name=myform enctype="multipart/form-data">
<input type=file name=uploadfile size=1 style="width:100%">
</form>

<script language=javascript>

var sAllowExt = "<%=sAllowExt%>";
// 检测上传表单
function CheckUploadForm() {
        if (!IsExt(document.myform.uploadfile.value,sAllowExt)){
                parent.UploadError("提示:\n\n请选择一个有效的文件,\n支持的格式有("+sAllowExt+")!");
                return false;
        }
        return true
}

// 提交事件加入检测表单
var oForm = document.myform ;
oForm.attachEvent("onsubmit", CheckUploadForm) ;
if (! oForm.submitUpload) oForm.submitUpload = new Array() ;
oForm.submitUpload[oForm.submitUpload.length] = CheckUploadForm ;
if (! oForm.originalSubmit) {
        oForm.originalSubmit = oForm.submit ;
        oForm.submit = function() {
                if (this.submitUpload) {
                        for (var i = 0 ; i < this.submitUpload.length ; i++) {
                                this.submitUpload[i]() ;
                        }
                }
                this.originalSubmit() ;
        }
}

// 上传表单已装入完成
try {
        parent.UploadLoaded();
}
catch(e){
}

</script>

</body>
</html>
<%
End Sub

' 保存操作
Sub DoSave()
        Dim oUpload, oFile, sFileExt, sSourceFileName, sSaveFileName
        ' 建立上传对象
        Set oUpload = New upfile_class
        ' 取得上传数据,限制最大上传
        oUpload.GetData(nAllowSize*50240)
        If oUpload.Err > 0 Then
                Select Case oUpload.Err
                Case 1
                        Call OutScript("parent.UploadError('请选择有效的上传文件!')")
                Case 2
                        Call OutScript("parent.UploadError('你上传的文件总大小超出了最大限制(" & nAllowSize*50240 & "KB)!')")
                End Select
                Response.End
        End If

        Set oFile = oUpload.File("uploadfile")
        sFileExt = LCase(oFile.FileExt)
        sSourceFileName = oFile.FileName
        Call CheckValidExt(sFileExt)

        Dim sRnd
        Randomize
        sRnd = Int(900 * Rnd) + 100
        sSaveFileName = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now) & sRnd & "." & sFileExt
        oFile.SaveToFile Server.Mappath(sUploadDir & sSaveFileName)
       
        Set oFile = Nothing
        Set oUpload = Nothing

        Call OutScript("parent.UploadSaved('" & sSaveFileName & "');parent.dialogArguments.addUploadFile('" & sSourceFileName & "', '" & sSaveFileName & "')")

End Sub

' 输出客户端脚本
Sub OutScript(str)
        Response.Write "<script language=javascript>" & str & ";history.back()</script>"
End Sub

' 检测扩展名的有效性
Sub CheckValidExt(sExt)
        Dim b, i, aExt
        b = False
        aExt = Split(sAllowExt, "|")
        For i = 0 To UBound(aExt)
                If LCase(aExt(i)) = sExt Then
                        b = True
                        Exit For
                End If
        Next
        If b = False Then
                OutScript("parent.UploadError('提示:\n\n请选择一个有效的文件,\n支持的格式有("+sAllowExt+")!')")
                Response.End
        End If
End Sub


' 初始化上传限制数据
Sub InitUpload()
        sType = UCase(Trim(Request.QueryString("type")))
        sStyleName = Trim(Request.QueryString("style"))
        sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'"
        oRs.Open sSql, oConn, 0, 1
        If Not oRs.Eof Then
                sUploadDir = oRs("S_UploadDir")
                sUploadDir = Replace(sUploadDir, "\", "/")
                If Right(sUploadDir, 1) <> "/" Then
                        sUploadDir = sUploadDir & "/"
                End If

                Select Case sType
                Case "FILE"
                        sAllowExt = oRs("S_FileExt")
                        nAllowSize = oRs("S_FileSize")
                Case "MEDIA"
                        sAllowExt = oRs("S_MediaExt")
                        nAllowSize = oRs("S_MediaSize")
                Case "FLASH"
                        sAllowExt = oRs("S_FlashExt")
                        nAllowSize = oRs("S_FlashSize")
                Case Else
                        sAllowExt = oRs("S_ImageExt")
                        nAllowSize = oRs("S_ImageSize")
                End Select
        Else
                OutScript("parent.UploadError('无效的样式ID号,请通过页面上的链接进行操作!')")
        End If
        oRs.Close
        ' 任何情况下都不允许上传asp脚本文件
        sAllowExt = Replace(UCase(sAllowExt), "ASP", "")
        sAllowExt = Replace(UCase(sAllowExt), "asa", "")
End Sub
%>
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享

2

主题

4

帖子

6

金币

初级会员

Rank: 1

积分
15
QQ
2#
发表于 2012-4-8 19:57:41 | 只看该作者
为了不扰乱会员对源码的测试,有问题咨询右侧客服不要直接回复,否则视为非法信息屏蔽会员ID!
怎么这么复杂的,弄得~~
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-5-4 15:26 , Processed in 0.038403 second(s), 23 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明