saveDoc.aspx
上传用户:tiancihang
上传日期:2014-03-12
资源大小:21387k
文件大小:3k
源码类别:

.net编程

开发平台:

C#

  1. <%@ Page Language="VB" AspCompat ="true" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <script language =vbscript runat="server">
  4.     '为了增强安全性,开发者可增加验证当前用户的功能,例如通过Session等
  5.     '防止用户自己写客户端脚本向savedoc.aspx提交非法文件
  6.     Dim strReturnString, sFileName, sRelativePath
  7.     Function SaveFile(ByVal sFilePath, ByVal sContent)
  8.         On Error Resume Next
  9.         Dim oStream
  10.         oStream = Server.CreateObject("ADODB.Stream")
  11.         
  12.         oStream.Type = 1
  13.         oStream.Open()
  14.         oStream.Write(sContent)
  15.         oStream.SaveToFile(sFilePath, 2)
  16.         
  17.         oStream.close()
  18.         oStream = Nothing
  19.         SaveFile = True
  20.         If Err.Number <> 0 Then
  21.             SaveFile = False
  22.         End If
  23.     End Function
  24.     
  25.     Sub ReadAndSaveFile()
  26.         On Error Resume Next
  27.         Dim i
  28.         Dim sFileContent
  29.         Dim oXML
  30.         oXML = Server.CreateObject("Msxml2.DOMDocument")
  31.         oXML.async = False
  32.         oXML.load(Request)
  33.         
  34.         'sFileContent 是 word二进制流,此流可以保存成文件,也可以保存到数据库。
  35.         
  36.         sFileContent = oXML.documentElement.childNodes.item(0).nodeTypeValue
  37.         'FileName和RelativePath区分大小写
  38.         sFileName = oXML.documentElement.childNodes.item(0).Attributes.getNamedItem("FileName").Text
  39.         sRelativePath = oXML.documentElement.childNodes.item(0).Attributes.getNamedItem("RelativePath").Text
  40.         
  41.         '得到文件扩展名
  42.         Dim intP, strFileExName
  43.         intP = InStrRev(sFileName, ".")
  44.         strFileExName = Mid(sFileName, intP)
  45.         
  46.         If strFileExName = ".doc" Or strFileExName = ".xls" Or strFileExName = ".ppt" Or strFileExName = ".wps" Then
  47.             SaveFile(Server.MapPath(".") & "" & sRelativePath & sFileName, sFileContent)
  48.         End If
  49.         
  50.         oXML = Nothing
  51.         If Err.Number <> 0 Then
  52.             strReturnString = "-1"
  53.         End If
  54.     End Sub
  55.     
  56.     Sub UpdateTime()
  57.         Dim conn, dbpath
  58.         conn = Server.CreateObject("ADOCO.Connection")
  59.         dbpath = Server.MapPath("demodata/soademo.mdb")
  60.         conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath)
  61.         Dim strsql
  62.         
  63.         '********************************************************************
  64.         ' 读数据库相关操作
  65.         strsql = "update word set submitTime='" & Now() & "' where fileName='" & sFileName & "'"
  66.         conn.execute(strsql)
  67.         conn.Close()
  68.         ' 释放数据库连接对象
  69.         conn = Nothing
  70.     End Sub
  71.     
  72.     
  73.     Sub Page_Load()
  74.         '执行文件
  75.         ReadAndSaveFile()
  76.         If strReturnString = "-1" Then
  77.             Response.Write("保存错误!")
  78.         Else
  79.             UpdateTime()     ' 如果您需要更新文件列表中"修改时间" ,就执行此过程.
  80.             Response.Write("保存成功!")
  81.         End If
  82.     End Sub
  83. </script>
  84. <html xmlns="http://www.w3.org/1999/xhtml" >
  85. <head runat="server">
  86.     <title>无标题页</title>
  87. </head>
  88. <body>
  89.     <form id="form1" runat="server">
  90.     <div>
  91.     
  92.     </div>
  93.     </form>
  94. </body>
  95. </html>