|
分類:[C#]
いつもお世話になります。複数選択可のオープンダイアログでファイルのリストを得ようとしていますが、なぜかひとつだけしか得られずにいます。ご教示いただければと思います。
//ログファイルのパス
private string logfilePath = System.Windows.Forms.Application.StartupPath + "\\sendphoto.list";
private void selectPhotoButton_Click_1(object sender, EventArgs e)
{
openFileDialog1.Multiselect = true;
openFileDialog1.Filter = "Image Files (*.jpg)|*.jpg";
openFileDialog1.Title = "Jpegファイルを選択してください";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
// Multiselect が true の場合はこのように列挙する
foreach (string nFileName in openFileDialog1.FileNames)
{
//画像ファイル名
string imgFile = nFileName;
//読み込む
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(imgFile);
foreach (System.Drawing.Imaging.PropertyItem item in bmp.PropertyItems)
//Exif情報から撮影時間を取得する
if (item.Id == 0x9003 && item.Type == 2)
{
//文字列に変換する
string val = System.Text.Encoding.ASCII.GetString(item.Value);
val = val.Trim(new char[] { '\0' });
bmp.Dispose();
//ログファイルへの書き出し用StreamWriterオブジェクトを生成
System.IO.StreamWriter writer
= new System.IO.StreamWriter(logfilePath, true, System.Text.Encoding.Default);
// ディレクトリ名 (最後に'\\'は付かない) ファイル名と拡張子
writer.WriteLine(Path.GetDirectoryName(nFileName) + "\t" + Path.GetFileName(nFileName) + "\t" + val.Trim());
//閉じる
writer.Close();
//戻り値を返す
return;
}
}
}
}
|