试图上传一个文件到一个已经创建的文件夹,但这个错误不断到来
拒绝访问路径“C:\Users\Joe\Documents\Visual Studio 2015\Projects\training\Site1\Site1\Content\ProductImages”。
下面是这个
异常详细信息:System.UnauthorizedAccessException:拒绝访问路径“C:\Users\Joe\Documents\Visual Studio 2015\Projects\training\Site1\Site1\Content\ProductImages”。
ASP.NET无权访问请求的资源。考虑将对资源的访问权限授予ASP。NET请求标识。ASP.NET有一个基本进程标识(在IIS 5上通常为{MACHINE}\ASPNET,在IIS 6和IIS 7上通常为网络服务,在IIS 7上通常为已配置的应用程序池标识)。5)如果应用程序没有模拟,则使用。如果应用程序通过模拟,则标识将是匿名用户(通常是IUSR_MACHINENAME)或经过身份验证的请求用户。
授予ASP。NET访问某个文件时,在文件资源管理器中右键单击该文件,选择“属性”并选择“安全”选项卡。单击“添加”以添加适当的用户或组。突出显示ASP。NET帐户,并选中所需访问权限的框。
源错误:
Line 73: var path = Server.MapPath("~/Content/ProductImages"); // guardo en la variable path la direccion donde quiero guardar las imagenes, este path es un string que tu lo conformas segun el interes, puedeser upload/nombre_fichero/fecha/etc
Line 74: string pathdir = Path.Combine(path, imageName);
*Line 75: file.SaveAs(path); // store file*
Line 76: var imagen = new Image();
Line 77: imagen.ImagePath = pathdir;
第75行为红色当检查授予的权限时,对于存储或存储文件没有限制
7条答案
按热度按时间o2gm4chl1#
安全性来自操作系统,而不是编译器。在Windows中导航到您的文件夹,右键单击,更改安全性。
如果进行部署,请确保使用自动授予写入权限的文件夹。NET -类似于User/Appdata/Roaming文件夹。
编辑:你是说你已经把每个人都添加到文件夹中,并给了他们完全的控制权,但仍然没有得到快乐。请尝试这个测试:
从你的解决方案运行上面的代码,然后检查你的DEBUG文件夹以找到你的解决方案(我已经忘记了我们是在处理控制台、表单还是web,所以你可能必须在你的计算机上搜索mytestFile。运行后的txt文件)。
运行这个的要点是C:(不带反斜杠)指向您的项目文件夹,并将自动具有足够的写入权限。如果这起作用,你得到一个mytestFile。txt运行后,然后我们往一个方向走。如果你得到一个访问错误,我们就换个方向。因此,请运行您的解决方案或新的控制台应用程序(您的解决方案将是最好的),并报告结果。有耐心的朋友-我们会尽我们所能让你在你需要的地方!
bwleehnv2#
在IIS中托管应用程序时,IIS将根据应用程序池设置以另一个用户名运行应用程序。了解应用程序池(What is an IIS application pool?)是一个好主意,但在您的特定情况下,您不必通过学习曲线。
最简单的方法是通过打印出System来找出IIS正在使用的实际用户名。环境。用户名并将此用户授予您希望其访问的目录。
bkkx9g8r3#
文件权限错误来自Windows OS资源管理器。
它会给你准确的定位:
授予ASP。NET访问某个文件时,在文件资源管理器中右键单击该文件,选择“属性”并选择“安全”选项卡。单击“添加”以添加适当的用户或组。突出显示ASP。NET帐户,并选中所需访问权限的框。
给予看
dfddblmv4#
尝试检查文件夹的共享类型。
右键单击-〉属性-〉共享选项卡-〉单击共享。.. Buttong-〉然后选择Everyone然后添加然后将其更改为读写。
然后再次测试您的程序。
如果错误仍然存在,请尝试将该文件夹添加到解决方案资源管理器。
单击解决方案资源管理器-〉显示所有文件-〉然后查找文件夹,然后将其包含在项目中。
给予看吧
bqucvtff5#
我们必须为正在尝试上载的文件夹“ProductImages”授予“IIS_Users”写权限,因为IIS使用此用户访问您的上载文件夹。Please see here how to add IIS_Users to your folder .希望这对你有帮助。
aiqt4smr6#
检查该文件夹的权限,右键单击该文件夹,从“只读”旁边的复选框中删除选择,然后单击“安全”=〉“编辑”=〉选择“用户”并勾选“完全控制”和“应用”复选框
ttp71kqs7#
只有文件夹名而没有文件名的路径会导致访问被拒绝错误。检查文件名是否不为空/null。