文件传输期间UnauthorizedAccessException

时间:2013-02-23 17:31:57

标签: .net vb.net filestream

我的文件传输应用程序现在正在运行,以它应该的方式传输文件。但是我遇到了另一个问题,我相信stackoverflow中的某个人可以解决这个问题。

当我第一次传输文件时,在目标位置没有任何重复或者在程序运行时再次传输同一文件以覆盖现有的重复文件时,不会发生此问题。但是当我关闭程序然后重新打开它以再次传输相同的文件时,在之前传输的目标位置上存在文件的现有副本,就会出现问题。

我收到错误UnauthorizedAccessException: Access to the path denied

我不认为这是用户权限问题,因为我在管理员帐户中运行该软件。但当然,我对此并不是百分之百确定。如果我的假设错了,请纠正我。

有关于此的任何建议吗?我相信,我可以通过使用File.Exist结合一些代码来解决这个问题,但我敢打赌,有更好的方法可以解决这个问题。

这是我的代码。

'This is where the error occurs; in the initialization of fileStream
'Maybe this has something to do with FileAccess and FileMode? I'm not sure.
Using fileStream As New FileStream(FilePath, FileMode.Create, FileAccess.Write)
  FileSharingStatusBar.Panels.Item(1).Text = "Receiving file . . ."
  Do Until TotalData = FileLength
    If ReadBytes = 0 Then
      fileStream.Close()
      FileTransferInterrupted = True
      Exit Do
    Else
      ReadBytes = ClientSocket.GetStream.Read(FileData, 0, FileData.Length())
      fileStream.Write(FileData, 0, ReadBytes)
      TotalData += ReadBytes
    End If
  Loop
End Using

1 个答案:

答案 0 :(得分:0)

几天后,我终于解决了真正的问题。我在我的实施中删除了NetworkStream.ReadNetworkStream.Write,并将其替换为BinaryReader.ReadStringBinaryWriter.Write。这样,处理文件传输和日志记录的过滤就变成了一个,避免了网络传输过程中的混淆。