記事詳細
タイトル
Directory内ファイルのダウンロード
要旨
Directory配下のファイル全てをダウンロードするコードサンプル
public IActionResult StripeImages()
{
var path = Path.Combine(Directory.GetCurrentDirectory(), "C:\\Users\\info\\OneDrive\\画像\\ForStripe");
string folderFrom = path;
string folderTo = "C:\\Users\\info\\Downloads\\ForStripe";
if (Directory.Exists(folderFrom))
{
foreach (string pathFrom in System.IO.Directory.EnumerateFiles(folderFrom, "*", System.IO.SearchOption.AllDirectories))
{
//コピー先のパスを作成
string pathTo = pathFrom.Replace(folderFrom, folderTo);
//コピー先のフォルダーが存在するか確認し、なければ作成します。
string targetFolder = folderTo;
if (System.IO.Directory.Exists(targetFolder) == false)
{
System.IO.Directory.CreateDirectory(targetFolder);
}
//1ファイルのコピー実行。同名のファイルがある場合上書きします。
System.Diagnostics.Debug.WriteLine("コピー" + pathFrom + " → " + pathTo);
System.IO.File.Copy(pathFrom, pathTo, true);
//こちらでコピーするとコピー先に同名のファイルがあると上書きせずエラーになります。
//System.IO.File.Copy(pathFrom, pathTo);
//ViewData["NoDirectory"] = "Success";
}
}
else
{
ViewData["NoDirectory"] = "No Directory";
}
//return Content(path);
ViewData["success"] = "ダウンロード完了。ダウンロードフォルダを確認してください。";
return View("Index");
}
下図はDownLoad前のViewとDownLoad後の表示です。