在win8.1上允许web用户保存文件的asp.net权限

本文关键字:保存文件 asp net 权限 用户 web win8 | 更新日期: 2023-09-27 17:50:38

我在一个使用ASP的网站上工作。. NET和IIS 8.5.

该网站目前在我的开发机器(标准的win 8.1笔记本电脑)上运行,我可以在网站周围浏览一般内容。

当用户试图将文件保存到文件夹时,我的问题就出现了。我得到了错误:Access to the folder blah is denied

我在网上搜索了一下,找到了解决这个问题的办法,就是把文件夹上的写权限授予用户ASP。净使用。

我已经授予了I_USERS组,应用程序池用户和网络服务的写权限,但这仍然没有解决问题。

我还看到用户asp.net也必须添加到权限中,但是我的机器上似乎没有这个用户。-这是为什么我得到的错误,或者是其他的东西完全?

一些代码:

标记:

    <div class="col-sm-10" Style="float: left; padding-left: 10px;">
         <asp:FileUpload ID="FileUploader" style="width:100%" runat="server" CssClass="text" />
    </div>  
        /*****Some other controls (eg.textboxes) here *****/
    <div class="row">
        <div class="col-sm-12" style="margin-top:10px;">
            <asp:Button ID="uploadBTN" runat="server" CssClass="frbtn" OnClick="uploadBTN_Click" Text="Upload Video" Style="width: 20%; float: right;" />
        </div>
    </div>

背后的代码:

    protected void uploadBTN_Click(object sender, EventArgs e)
    {
        FileUploader.SaveAs(FRConfig.VideoFolder); //This bit does the saving
        Video v = new Video(FileUploader.FileName, fileDescripTB.Text);//This saves the video data to a database.
        Helpers.Show("Video Uploaded Successfully!"); //This launches an alert to state it has been sucessfully uploaded.
    }

谢谢

在win8.1上允许web用户保存文件的asp.net权限

当使用IIS默认设置时,授予IIS_IUSRS写权限应该足够了。App Pool User自动成为IIS_IUSRS的成员,Network Service仅在更改应用池身份时才需要添加。

以下aspx页面测试默认网站的写权限:

<%@ Page Language="C#" debug="true"%>
<script runat="server">
   void Page_Load() {
      System.IO.File.Copy(@"C:'inetpub'wwwroot'iis-85.png",@"C:'inetpub'wwwroot'new.png",true);
   }
</script>

你不应该允许写访问你的web根目录下的位置,把文件上传到不同的目录