用Asp上传多个附件,修改附件

//Author: William Lin
//Date:   2009-02-26
//QQ:     22967225
//Description: 用Asp上传多个附件,修改附件

一直以来都用.net开发居多,最近有位客户委托修改一个涉及文档管理系统,就是管理公司内部的一些文档用的,涉及到Asp上传一个或多个附件的功能。简单做了一下。

 

1) 网上找了一个 upload_5xsoft.inc

/*** start 新增操作 ****/
2) 前台显示页,主要代码
+
 


后台提交页面

<%
     
        Dim upload       
        Dim file,filepath,db_filePath,formName,fname
       
        set upload=new upload_5xSoft ''建立上传对象
        filepath="upload/"
  Dim strArrayFileName
  strArrayFileName = ""  
  
  For each formName in upload.file   ''列出所有上传了的文件
   set file=upload.file(formName)   ''生成一个文件对象
    fname = ""
   If file.FileSize>0 then
    fname = file.filename         ''如果 FileSize > 0 说明有文件数据
    file.SaveAs Server.mappath(filepath&fname)    ''保存文件 
    If strArrayFileName = "" Then
     strArrayFileName = fname
    Else
     strArrayFileName = strArrayFileName & "|" &fname  '' 把上传的文件名 拼接一下,用 | 分隔符
    End If
   End if
   set file=nothing
  Next 
  Response.Clear()
       
        '=========最后做数据库操作
        Dim sql
        Dim rs
       
        sql = "select * from tableName"
        set rs=server.CreateObject("adodb.recordset")
        rs.Open sql,conn,3,3
        rs("qFilePath") = strArrayFileName 
  rs.Update
       
    %>
/*** End 新增操作 ****/

/*** start 修改操作 ****/
前台主要代码

//用一个隐藏按钮,保持原有的 文件名拼接字符串
">

//显示上传的所有 文件


<%
    strArrayFileName = rsRecord_ById("qFilePath")
    arrayFileName = Split(strArrayFileName,"|")
    maxBound=Ubound(arrayFileName) '默认数组长度
    kNub = 1
    For i=0 to maxBound
        If arrayFileName(i) = "" Then
            displayState = "none;"
        Else
            displayState = ""
        End If
%>
                  
 
 
 
<%
 kNub = kNub + 1
 Next      
%>
■  <%=arrayFileName(i)%>
    X  

 

后台代码
rsWorkIntro("qFilePath") = Replace(upload.form("txtOldAffix"), ",", "|") & strArrayFileName

 

================
 upload_5xsoft.inc 代码如下
 
 


 

你可能感兴趣的:(ASP)