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

.net编程

开发平台:

C#

  1. <%@Language="VBScript"%>
  2. <SCRIPT language="VBScript" runat="Server">
  3. Dim strReturnString,sFileName,sRelativePath
  4. '为了增强安全性,开发者可增加验证当前用户的功能,例如通过Session等
  5. '防止用户自己写客户端脚本向savedoc.asp提交非法文件
  6. ' 保存数据流到文件
  7. Function SaveFile(sFilePath,sContent)
  8. On Error Resume Next
  9. Dim oStream
  10. Set oStream = Server.CreateObject("ADODB.Stream")
  11. oStream.Type = 1
  12. oStream.Open
  13. oStream.Write sContent
  14. oStream.SaveToFile sFilePath, 2
  15. oStream.Close
  16. Set oStream = Nothing
  17. SaveFile = True
  18. If Err.number <> 0 Then
  19. SaveFile = False
  20. End If
  21. End Function
  22. Sub readAndSaveFile()
  23. On Error Resume Next
  24. Dim i
  25. Dim sFileContent
  26. Dim oXML
  27. Set oXML = Server.CreateObject("Msxml2.DOMDocument")
  28. oXML.async = false
  29. oXML.load Request
  30. 'sFileContent 是 word二进制流,此流可以保存成文件,也可以保存到数据库。
  31. sFileContent = oXml.documentElement.childNodes.item(0).nodeTypedValue
  32. 'FileName和RelativePath区分大小写
  33. sFileName    = oXml.documentElement.childNodes.item(0).Attributes.getNamedItem("FileName").Text
  34. sRelativePath= oXml.documentElement.childNodes.item(0).Attributes.getNamedItem("RelativePath").Text
  35. '得到文件扩展名
  36. Dim intP, strFileExName
  37. intP = InStrRev(sFileName, ".")
  38. strFileExName = Mid(sFileName, intP)
  39. '接受doc、ppt和xls类型文件。开发者可增加接受其他类型文件
  40. if strFileExName = ".doc" or strFileExName = ".xls" or strFileExName = ".ppt"  or strFileExName = ".wps" then
  41. SaveFile  server.mappath(".") & "" & sRelativePath & sFileName, sFileContent
  42. end if
  43. Set oXml = Nothing
  44. If Err.number <> 0 Then
  45. strReturnString = "-1"
  46. End If
  47. End Sub
  48. '更新数据库中的文件修改时间
  49. Sub UpdateTime()
  50. Dim conn,dbpath
  51. Set conn=Server.CreateObject("ADODB.Connection")
  52. dbpath=Server.MapPath("../demodata/soademo.mdb")
  53. conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &dbpath
  54. dim strsql
  55. '********************************************************************
  56. ' 读数据库相关操作
  57. strsql="update word set submitTime='" & now() & "' where fileName='" & sFileName &"'"
  58. conn.execute(strsql)
  59. conn.Close
  60. ' 释放数据库连接对象
  61. set conn=nothing
  62. end sub
  63. '执行文件
  64. readAndSaveFile
  65. If strReturnString = "-1" Then
  66.     Response.write("Save Error!")
  67. Else
  68. 'UpdateTime     ' 如果您需要更新文件列表中"修改时间" ,就执行此过程.
  69.     Response.write("Save OK.")
  70. End If
  71. </SCRIPT>