【问题标题】:Upload images on web hosted MVC 3 application and Impersonation?在 Web 托管的 MVC 3 应用程序和模拟上上传图像?
【发布时间】:2011-08-13 00:28:45
【问题描述】:

我在 Web 主机上有一个 MVC 3 应用程序,并且使用输入 type=file 不适用于上传图像。我在文件夹上收到“拒绝访问”错误。

我联系了虚拟主机的支持人员,他们说我不能使用“网络服务”进行文件上传,但我必须使用“模拟”。我从微软那里得到了一个关于“模仿”的页面链接。但由于我没有得到太多解释,而且他们也不太擅长给出答案,所以我想我可能会在这里得到更快更好的答案:

这种模拟实际上是我在我的网站上启用文件上传所需要的吗?如果是这样,具体该怎么做(我很难解密 Microsoft 页面...)?

这真的会为所有经过身份验证的用户启用文件上传吗?微软的页面似乎在谈论特定的用户。

这是链接:http://support.microsoft.com/kb/306158

任何帮助表示赞赏!

更新:

我尝试在我的 web.config 中设置 identity impersonate="true",但在实时站点上却收到以下错误消息:

解析器错误消息:在 machine.config 之外使用注册为 allowDefinition='MachineOnly' 的部分是错误的。

来源错误:

Line 18: <httpRuntime requestValidationMode="2.0" />
Line 19: <!--Set to allow HTML in comment box of CRM--> 
Line 20: <identity impersonate="true" /> 
Line 21: </system.web> 
Line 22: </location>

【问题讨论】:

    标签: asp.net file asp.net-mvc-3 file-upload impersonation


    【解决方案1】:

    您可能不需要在面向公众的网站中进行模拟。您可以尝试将上传的文件存储在网络服务应该可以访问的特殊~/App_Data 文件夹中。如果您想使用其他文件夹,则需要向网络服务帐户授予对该文件夹的写入权限。

    【讨论】:

    • 我尝试将 App_Data 文件夹设置为上传文件夹,但不幸的是,出现了同样的错误。网主特意说我不能用网络服务,只能用冒充……我也觉得不合理,但他们是这么说的,所以我不指望能要求他们授权写文件夹上网络服务的权限...那我该怎么办?
    • 我在另一个虚拟主机上也使用过文件上传没有问题,所以我真的不知道为什么我应该在这里需要它。但话说回来,如果他们告诉我我需要冒充……我该怎么办?还是他们错了,问题出在其他地方吗?
    • 顺便说一句,模拟究竟是什么?模拟的是什么用户?无论如何它会有什么帮助?我是网站的管理员,连图片都不能上传,应该冒充谁来让它工作?还是我完全误解了它是什么?
    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    相关资源
    最近更新 更多