【问题标题】:createobject scripting.filesystemobject IIS 7 - vbscript code always trying to save file in C:\Windows\System32\inetsrv\ instead of web site foldercreateobject scripting.filesystemobject IIS 7 - vbscript 代码总是试图将文件保存在 C:\Windows\System32\inetsrv\ 而不是网站文件夹
【发布时间】:2011-10-05 23:25:36
【问题描述】:

根据标题

createobject scripting.filesystemobject IIS 7 - vbscript 代码总是试图将文件保存在 C:\Windows\System32\inetsrv\ 而不是网站文件夹中

我当然会收到“权限被拒绝”错误

文件应该保存在网站文件夹中。

非常感谢任何帮助。

编辑: vbscript 是从在 Win 7 开发机器上的 IIS7 下运行的网站中的表单调用的。 在这种情况下,我没有设置任何路径,但是当我尝试“。\”时,IIS 也尝试使用“inetsrv”路径,而不是我期望的网站根文件夹。

【问题讨论】:

  • 你需要展示你的代码,虽然我的第一个猜测是你需要使用Server.MapPath() 来构建你的保存路径
  • 正如我所说,文件应该保存在网站文件夹中,而不是我在 procmon 中看到的 IIS 试图将文件保存到的位置。 vbscript 代码正在由网站中的 asp 页面调用。谢谢

标签: vbscript filesystemobject createobject


【解决方案1】:

确保您的问题中不存在代码的技巧但是我怀疑您假设创建诸如“ThisIsMyFile.txt”之类的文件会在 ASP 应用程序文件夹中创建一个文件。没有。

FileSystemObject 对 IIS 一无所知。它将使用应用程序的当前目录,该目录默认为用于启动进程的可执行文件的目录,对于 IIS,该目录位于“C:\Windows\System32\inetsrv\”中。

你需要的是:-

Dim sFilePath : sFilePath = Server.MapPath("/") & "ThisIsMyFile.txt"

这将创建一个可以在网站根文件夹中创建的文件的完整路径。

【讨论】:

  • 我认为 OP 正在尝试写入安全位置,但错误地 ASP 正在尝试写入系统文件夹。
  • 我希望 vbscript 将文件保存在网站文件夹中,而不是保存在它试图保存的文件夹中(我可以通过 procmon 查看)。
  • @iss42:对不起,我没有正确阅读您的问题,将编辑答案。
  • 是的!非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 2012-02-23
  • 2022-01-15
  • 1970-01-01
  • 2020-03-29
相关资源
最近更新 更多