1

私の 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" などのフォルダーにある場合、このエラーは発生しません。

4

1 に答える 1

2

通常、ASP.NET でエラーが発生するのは、アプリケーションを実行しているアカウントに適切なアクセス許可がないためです。

しかし、あなたが説明したのはファイルのアップロードです。サーバー側のコードはクライアント マシンのファイル システムにアクセスできません。これは不可能です。クライアントは、希望する場所からアップロードする必要があります。<asp:FileUpload>この目的のためにコントロールを使用します。

于 2012-10-11T17:51:07.617 に答える