我在ASP.Net MVC中有一个表单,它允许您上传文件。该文件将保存到服务器上的某个位置。例如,如果域名为www.test-domain.com
,而本地路径为c:\websites\test-domain.com\
,则图片会存储在/uploads/File/image.jpg
中。
当我尝试访问此网址http://www.test-domain.com/uploads/File/image.jpg
时,我会被重定向到web.config中的forms loginUrl="XXXX"
路径。为了测试,我完全删除了web.config,并访问了该文件。这一次,我得到401 - Unauthorized: Access is denied due to invalid credentials
。
我这次通过FTP上传了另一个文件到http://www.test-domain.com/uploads/File/image2.jpg
。可以毫无问题地访问这个。我甚至尝试通过Asp.Net保存下载image.jpg
,删除服务器上的文件并通过FTP重新上传相同的文件,然后再次运行!
似乎通过FTP工作,而通过Asp.Net不知何故有一些访问/授权要求。我在Asp.Net中设置了身份验证,但我删除了整个web.config
文件,但仍然出现错误。
有什么想法吗?
答案 0 :(得分:0)
我已经发现了为什么会发生这种情况,尽管它与我在开始时的想法完全无关。我正在上传图片并调整其大小。我在代码中看得更远,出于某种原因,我在临时Windows文件夹中创建了一个图像,然后使用File.Move
将其移动到实际位置。
似乎创建的安全权限不同于我必须直接在最终文件夹中创建文件。我已经更新了代码,直接在实际文件夹中创建了图像,这很正常。
参考:http://blogs.msdn.com/b/oldnewthing/archive/2006/08/24/717181.aspx