我们的服务器上安装了一个.NET Web应用程序:C:\Inetpub\fmtool\
我们的某个实用程序会将文件上载到已安装目录的子文件夹中。
我们以编程方式为此上传文件创建文件夹结构,以确保文件夹结构的完整性。这很好用。
然而,在实际文件复制期间(使用asp文件上传控件),我们收到权限错误,表示访问被拒绝。
我确保运行服务器上的应用程序的用户帐户完全控制文件系统(当然在开发中),我们仍然会收到此拒绝访问错误。
FileUpload似乎很直接:
fuiUpload.SaveAs(path);
从Web.Config中取出“路径”
<add key="ActualsImportPath" value="C:\Inetpub\fmtool\ActualsImport\Alpha"/>
如果我们在本地运行,我们需要在开头时使用完整的合格服务器信息吗?
例如:
<add key="ActualsImportPath" value="\\SERVER-NAME\c$\blah"/>
更新
检查我的代码后。我发现了一个明显的错误。在我尝试处理SaveAs()时,我实际上没有设置完整的“路径”变量。一个简单的错误造成了很多麻烦。谢谢大家的帮助。如果感兴趣,请参阅下面的代码
之前:
if (fuiUpload.HasFile)
{
// Did not have the complete path here.....
fuiUpload.SaveAs(path);
// Run the importer
switch (rblImportType.SelectedValue)
{
case "0":
path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv";
break;
后:
if (fuiUpload.HasFile)
{
// Run the importer
switch (rblImportType.SelectedValue)
{
case "0":
path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv";
fuiUpload.SaveAs(path);
break;
答案 0 :(得分:1)
如果我了解您的更新,您已解决了问题,对吗?我确实想对设置网络用户帐户的权限发表评论。提供文件CRUD访问此帐户通常不是最佳做法。该帐户拥有太多的权力,无法获得这种访问权限。我建议创建一个帐户,其唯一目的是从您的网络应用程序访问文件系统。然后,您可以使用模拟来访问文件系统的代码以该帐户为幌子。
希望你的一切运转良好。
戴夫兰克 www.daveranck.com [fitnessforeveryman.com] [2]答案 1 :(得分:0)
如果这是IIS 6.0服务器,则需要为该文件夹授予网络服务写入/创建权限。
请注意,“网络服务”标识是网站的默认标识。如果上述修复不起作用,请检查“身份”选项卡以查找与应用程序文件夹关联的应用程序池。
答案 2 :(得分:0)
检查我的代码后。我发现了一个明显的错误。在我尝试处理SaveAs()时,我实际上没有设置完整的“路径”变量。一个简单的错误造成了很多麻烦。谢谢大家的帮助。如果感兴趣,请参阅下面的代码
在:
if (fuiUpload.HasFile)
{
// Did not have the complete path here.....
fuiUpload.SaveAs(path);
// Run the importer
switch (rblImportType.SelectedValue)
{
case "0":
path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv";
break;
后:
if (fuiUpload.HasFile)
{
// Run the importer
switch (rblImportType.SelectedValue)
{
case "0":
path += @"\Nightly Costing\" + DateTime.Now.ToString("yyyyMMdd") + "-NightlyCosting.csv";
fuiUpload.SaveAs(path);
break;