我已经仔细研究了大量的文档,试图找出为什么我无法在我的Web应用程序中上传文件。它是使用IIS 10.0在Windows Server 2016上托管的.NET Core 2。
我已经为应用程序池用户甚至其他用户(MySpecificApplicationPoolUser,IUSR,NETWORK,NETWORK SERVICE,IIS_IUSRS,IIS APPPOOL)提供了所有适当的文件夹权限,并且我还尝试了使用应用程序池用户在IIS中进行匿名身份验证。
说实话,我完全迷失了,无法在任何地方找到解决方案。所有Google搜索都会导致为ApplicationPoolIdentity用户分配权限,但我已经这样做了,但仍然不允许我上传文件。
原来问题出在FileStream中。我有:
var stream1 = new FileStream(path, FileMode.Create);
它应该是
var stream1 = new FileStream(path, FileMode.Create, FileAccess.Write);