【问题标题】:Uploading a file to IIS 7将文件上传到 IIS 7
【发布时间】:2012-07-24 08:28:19
【问题描述】:

在我的 .net MVC3 Web 应用程序中,我试图将 xlsx 文件上传到根目录下的特定文件夹。 它在本地工作。 在我的网络服务器(IIS 7)上它不起作用。 我已经采取的步骤: 1.我将AppPool的Identity设置为ApplicationPoolIdentity; 2. 在 IIS 管理器中,我向用户添加了 DefaultAppPool 和特定的 MyAppPool,并授予他们对特定文件夹的写入权限。

如果我在从服务器本身浏览时尝试上传文件 - 它工作正常。

你能帮我找出问题吗?

谢谢!

【问题讨论】:

  • 只是一个简单的问题,您想将此文件写入网络文件夹是否有特定原因?
  • 是的,我想让用户能够将数据从 excel 文件加载到 sql。
  • 这是因为文件需要下载到浏览器吗?还有其他更安全的选择。如果你愿意,我可以发布这样的答案。或者,我们可以尝试自己解决问题。对不起,从头开始,我误解了你的问题。我以为你说的是​​根目录,而不是驱动器根目录。
  • 是的。该文件需要下载到浏览器,以便我可以获取数据。想一想,也许我不需要写文件。我从文件中获取数据,但无论如何我都会丢弃它。我只需要在不保存文件的情况下实现它...如果您可以共享这两个选项,我会很高兴:在不从 excel 中获取数据而不将文件写入服务器并写入文件的情况下。
  • 我认为对于我想要做的事情,我必须编写文件。我使用 ExcelQueryFactory,在我看来,我必须有一个文件路径,因此我需要保存它。

标签: asp.net-mvc file-upload iis-7


【解决方案1】:

我会为另一个选项整理一些东西。与此同时,您是否尝试过使用模拟?

执行以下操作:

在有权访问相关文件夹的服务器上创建一个用户。

把它放在你的 web.config 文件中:

<identity impersonate="true" userName="ServerName\UserName", password="Password" />

其中 ServerName 是您的服务器名称,Username 是您创建的用户,Password 是相关密码。

更多关于假冒的信息:

http://msdn.microsoft.com/en-us/library/aa292118(v=vs.71).aspx

【讨论】:

  • 我有这样的事情:。一样吗?
  • 如果用户是在域上创建的,则应将域放在用户名“domain\username”之前;如果用户是在服务器本身上创建的,则应放在“servername\username”之前。它可能不是必需的,但最好是安全的。
  • 确保在进行此类更改后回收应用程序池。
  • 谢谢灰质!我的问题是我使用的是 ExcelQueryFactory,我必须在我的服务器上安装 Microsoft Access 数据库引擎。就在允许远程机器上的异常之后,我意识到......我感谢你的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 2015-12-12
  • 2013-02-12
  • 2012-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多