DirectoryInfo dir = new DirectoryInfo(@"FingerImage");
try
{
foreach (FileInfo fileInfo in dir.GetFiles("*.bmp"))
{
MessageBox.Show(fileInfo.Name,"INFO");
byte[] nameTemp = Encoding.Default.GetBytes(Path.GetFileName(fileInfo.FullName));
byte[] recvBuf = new byte[32];
using (FileStream picture = fileInfo.OpenRead())
{
byte[] picsize = new byte[fileInfo.Length + 4096];
picture.Read(picsize, 0, picsize.Length - 1);
picture.Dispose();
picture.Close();
GC.ReRegisterForFinalize(picture);
GC.ReRegisterForFinalize(fileInfo);
string nameStr = "IMAGE<#>" + Encoding.UTF8.GetString(nameTemp).Length + "<#>" + Encoding.UTF8.GetString(nameTemp) + "<#>" + picsize.Length + "<#>|END|";
byte[] name = Encoding.UTF8.GetBytes(nameStr);
//发送图片名
sockClient.Send(name);
//接受反馈
int iRet = sockClient.Receive(recvBuf);
if (iRet == 0)
{
MessageBox.Show("服务器异常", "提示:");
flag = false;
}
else
{
if (String.Compare(Encoding.Default.GetString(recvBuf), "YES") == 0)
{
sockClient.Send(picsize);
//发送图片
iRet = sockClient.Receive(recvBuf);
if (iRet == 0)
{
MessageBox.Show("服务器异常", "提示:");
flag = false;
}
else
{
if (String.Compare(Encoding.Default.GetString(recvBuf), "YES") == 0)
{
MessageBox.Show("上传成功", "提示:");
}
else
{
lab_msg.Text = Encoding.Default.GetString(recvBuf);
flag = false;
}
}
}
else
{
MessageBox.Show(Encoding.Default.GetString(recvBuf), "提示:");
flag = false;
}
}
}
//if (File.Exists(fileInfo.FullName))
//{
// File.Delete(fileInfo.FullName);
//}提示被占用
//FileStream picture = new FileStream(fileInfo.FullName, FileMode.Open, FileAccess.Read);
}
Directory.Delete(dir.FullName,true);//可以删除,但是最后一张提示被占用,无法删除
}
catch (Exception e)
{
MessageBox.Show(this, e.Message, "客户端异常");
}