File.Move()访问被拒绝ASP.NET

时间:2012-10-11 17:47:01

标签: asp.net .net vb.net file access-denied

在我的Web应用程序中,我必须将文件从用户计算机移动到服务器。 我必须使用ascx组件来执行此操作。

以下是代码:

Private Function FileReplciate(ByRef FilePath As String)
     'FilePath  is the full file path e.g C:/Program Files/file.txt

      ' Create an id to hide the original file name (for security)

       Dim id = New Guid;

      Try

      'Here I move the file using File.Move()  here is the error
       File.Move(FilePath, Server.MapPath("temp\" & id.ToString))

      Catch ex As exception

      End Try

End Function

因此当源文件位于“MyDocuments”或“MyPictures”或任何子文件夹之类的文件夹中时 在“用户”文件夹中,我收到了拒绝访问错误。

当源文件位于“C:\”或“C:\ ProgramFiles”等文件夹中时,我不会收到此错误。

1 个答案:

答案 0 :(得分:2)

通常,您在ASP.NET中收到错误,因为您的应用程序运行的帐户没有适当的权限。

但您所描述的是文件上传。服务器端代码无法访问客户机文件系统,这是不可能的。客户必须从其希望的位置上传它。为此目的使用<asp:FileUpload>控件。