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. 'sFileName=Request("fname")
  36. '得到文件扩展名
  37. Dim intP, strFileExName
  38. intP = InStrRev(sFileName, ".")
  39. strFileExName = Mid(sFileName, intP)
  40. '重新生成目录和文件名
  41. 'sRelativePath ="DocTemplate"
  42. '接受doc、ppt和xls类型文件。开发者可增加接受其他类型文件
  43. if strFileExName = ".doc" or strFileExName = ".xls" or strFileExName = ".ppt"  or strFileExName = ".wps" then
  44. SaveFile  server.mappath(".") & "" & sRelativePath & sFileName,sFileContent
  45. end if
  46. Set oXml = Nothing
  47. If Err.number <> 0 Then
  48. strReturnString = "-1"
  49. End If
  50. End Sub
  51. '更新数据库中的文件修改时间
  52. Sub UpdateTime()
  53. Dim conn,dbpath
  54. Set conn=Server.CreateObject("ADODB.Connection")
  55. dbpath=Server.MapPath("../demodata/soademo.mdb")
  56. conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &dbpath
  57. dim strsql
  58. '********************************************************************
  59. ' 读数据库相关操作
  60. strsql="update word set submitTime='" & now() & "' where fileName='" & sFileName &"'"
  61. conn.execute(strsql)
  62. conn.Close
  63. ' 释放数据库连接对象
  64. set conn=nothing
  65. end sub
  66. '执行文件
  67. readAndSaveFile
  68. If strReturnString = "-1" Then
  69.     Response.write("Save Error!")
  70. Else
  71. 'UpdateTime     ' 如果您需要更新文件列表中"修改时间" ,就执行此过程.
  72.     Response.write("Save OK.")
  73. End If
  74. </SCRIPT>