我在web主机上有一个MVC 3应用程序,并且使用input type=file不适合上传图像。我在文件夹上得到一个"access denied"的错误。
我联系了网络主机的支持人员,他们说我不能使用"网络服务"上传文件,但我必须使用"模拟"。我得到了一个链接,指向微软关于"冒充"的网页。但由于我没有得到太多的解释,而且他们也不擅长给出解释,我想我可能会得到一个更快更好的答案:
这个模拟实际上是我需要在我的网站上启用文件上传吗?如果是这样,它究竟是如何做到的(我有一个艰难的时间解密微软页面…)?
这是否为所有经过身份验证的用户启用文件上传?看来来自微软的页面是在谈论特定的用户。
链接:http://support.microsoft.com/kb/306158
感谢任何帮助!
更新:我尝试在我的网页中设置identity impersonate="true"。配置,但在活动站点上得到以下错误消息:
解析器错误消息:在machine.config之外使用注册为allowDefinition='MachineOnly'的section是错误的。
源错误: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>
您可能不需要在面向公众的网站中进行模拟。您可以尝试将上传的文件存储在网络服务应该可以访问的特殊~/App_Data
文件夹中。如果要使用其他文件夹,则需要向网络服务帐户授予此文件夹的写权限。