通过asp.net上传文件时的奇怪问题,通过FTP手动上传

时间:2014-03-21 18:03:17

标签: asp.net asp.net-mvc asp.net-mvc-4 web-config authorization

我在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文件,但仍然出现错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我已经发现了为什么会发生这种情况,尽管它与我在开始时的想法完全无关。我正在上传图片并调整其大小。我在代码中看得更远,出于某种原因,我在临时Windows文件夹中创建了一个图像,然后使用File.Move将其移动到实际位置。

似乎创建的安全权限不同于我必须直接在最终文件夹中创建文件。我已经更新了代码,直接在实际文件夹中创建了图像,这很正常。

参考:http://blogs.msdn.com/b/oldnewthing/archive/2006/08/24/717181.aspx