asp.net のファイル アップロード機能を使用して、ファイルのフル パスを取得しようとしています。Visual Basic 2010 で C# を使用して Web サイト プロジェクトに取り組んでいます。完全なパスが必要な理由は、ファイルを含むフォルダーに関する情報を実際に取得しようとしているためです。サードパーティの比較ツールである UltraCompare を使用してフォルダーを比較し、その比較結果をデータベースに転送します。
理想的には、ユーザーがファイルではなくフォルダーを参照できるようにする機能が欲しいのですが、グーグルで調べた限りでは、これは私が使用しているバージョンである .net 4.0 では不可能です。 .
必要なのはディレクトリのファイルパスだけなので、ファイルアップロードコントロールを使用する必要があるかどうかさえわかりません。ただし、完全なファイル パスを入力するのではなく、GUI ブラウザー ウィンドウを使用してユーザーがファイルを検索できるようにしたいと考えています。
私は明らかに C# .net とプログラミング全般に非常に疎いので、アドバイスや提案をいただければ幸いです。これは、別の場所からコピーして貼り付けたサンプルコードです。コメントの内容は、ファイル パスを取得するためのさまざまな方法を (失敗して) 試しただけです。
if (File1.HasFile)
{
try
{
//string filepath1 = Path.GetFullPath(File1.PostedFile.FileName);
string filepath1 = Path.GetFileName(File1.FileName);
File1.SaveAs(Server.MapPath("~/") + filepath1);
//StatusLabel.Text = "Upload status: File(s) uploaded!";
Response.Write("Upload status: File(s) uploaded! <br />");
Response.Write(filepath1);
}
catch (Exception ex)
{
StatusLabel.Text = "Upload status: The file(s) could not be uploaded. The following error occured: " + ex.Message;
//Response.Write("Upload status: The file(s) could not be uploaded. The following error occured: " + ex.Message + "<br />");
}