2

ファイル名が既にフォルダーに存在する場合、ユーザーがアップロードしたファイル名の名前を変更したいと思います。

string existpath = Server.MapPath("~\\JD\\");

DirectoryInfo ObjSearchDir = new DirectoryInfo(existpath);
if (ObjSearchFile.Exists)
 {
  foreach (FileInfo fi in ObjSearchFile.GetFiles())
    {
        fi.CopyTo(existfile, false);
     }
  }

このコードは機能していません。既存のファイルを見つけることができません。

4

2 に答える 2

0

この記事から、CopyTo メソッドは、既存のファイルを上書きするかどうかのみを設定します。あなたがすべきことは、ファイルがターゲットディレクトリに存在するかどうかを確認することです:

File.Exists(path)

その場合は、作業中のファイルの名前を変更し (取得した ObjSeachFile オブジェクトが何であるかはわかりません)、再度保存する必要があります。また、同じ名前の別の既存のファイルがある場合に備えて、ファイルが存在するかどうかを再確認する必要があることに注意してください。

于 2013-08-13T12:00:36.563 に答える