文件.Move()访问被拒绝ASP.NET

文件.Move()访问被拒绝ASP.NET,asp.net,.net,vb.net,file,access-denied,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)

在我的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”或任何子文件夹中时 在“User”文件夹中,我遇到了拒绝访问错误


当源文件位于诸如“C:\”或“C:\ProgramFiles”之类的文件夹中时,我没有收到此错误。

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


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

谢谢您的帮助。事实上,我是使用文件上传来完成这项工作的,但在我的应用程序中,我必须复制上传的文件,这必须由组件而不是用户来完成。有其他方法可以做到这一点。@Guilherme:那么你正在移动一个上传的文件。你不能在上传后立即将文件放在适当的位置吗?是的,我认为这是唯一的解决方案。由于应用程序中的一些限制,我一直避免这样做,但我将被迫这样做。谢谢已经尝试了,并且得到了相同的错误