0
我有一個按鈕觸發的文件上傳控件。當按鈕被點擊時,我檢查目錄是否存在,如果沒有,則創建它並將文件從fileupload保存到它。運行應用程序時,如果目錄不存在,則會成功創建目錄,但該文件不會保存到目錄並引發未授權的訪問例外。我在我的本地機器上工作,網絡服務帳戶修改了我在其中創建子目錄的目錄的權限。我檢查了創建的文件夾上的NTFS權限,它們從父級繼承,因此看起來沒問題。我在代碼中做錯了什麼,或者是否有其他帳戶需要對目錄的權限? (我做了測試,通過暫時給予 '每個人' 修改文件夾的訪問,但有相同的錯誤)Fileupload - 能夠創建文件夾,但不能將文件保存到它
代碼:
If fuSupport.HasFile Then
Dim clockNo As String = lblClockNo.Text.Trim()
Dim employeePath As String = "~/SupportingFiles/" & clockNo
If Not Directory.Exists(Server.MapPath(employeePath)) Then
Directory.CreateDirectory(Server.MapPath(employeePath))
End If
Dim filePath As String = Path.GetFileName(fuSupport.PostedFile.FileName)
Dim fileName As String = Path.GetFileName(filePath)
Dim ext As String = Path.GetExtension(fileName)
fuSupport.SaveAs(Server.MapPath(employeePath))
End if
FileUpload控件:
<asp:UpdatePanel ID="upSupportingFiles" runat="server">
<ContentTemplate>
<asp:FileUpload ID="fuSupport" runat="server" Width="100%" /><br />
<asp:Label ID="lblUpload" runat="server"></asp:Label>
<br />
<table cellpadding="3" cellspacing="0" style="width: 100%">
<tr>
<td style="width:50px">
<asp:Button ID="btnUpload" runat="server" CssClass="buttonStyle" Text="Upload File" CausesValidation="False" />
</td>
<td style="padding-left:10px">
<asp:UpdateProgress ID="upUpload" runat="server">
<ProgressTemplate>
<asp:Image ID="imgAjaxLoader" runat="server" ImageUrl="~/App_Themes/APS/Images/ajax-loader.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
</td>
</tr>
</table>
<br />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnUpload" />
</Triggers>
</asp:UpdatePanel>
你的計算機上的管理員? – Zaki
我是的。嘗試右鍵單擊Visual Studio並選擇「以管理員身份運行」,仍然是同樣的錯誤 – Jimsan