黑马程序员技术交流社区
标题:
WPF写的Socket中传送文件时接收端怎么确定发送文件的类型?
[打印本页]
作者:
zhangcheng5468
时间:
2013-7-6 15:45
标题:
WPF写的Socket中传送文件时接收端怎么确定发送文件的类型?
本帖最后由 zhangcheng5468 于 2013-7-9 20:23 编辑
WPF写的Socket中传送文件时接收端怎么确定发送文件的类型?代码如下:
private void Communication(object key)
{
while (true)
{
byte[] byteData = new byte[1024 * 1024 * 2];//创建一个2M的缓存区
int length = dictSocket[key.ToString()].Receive(byteData);
//根据标识位判断传送的是文件还是消息
if (byteData[0] == 1)//文件
{
SaveFileDialog sfd = new SaveFileDialog();
if (sfd.ShowDialog() == true)
{
using (FileStream fs = new FileStream(sfd.FileName, FileMode.Create))
{
sfd.AddExtension=true;
fs.Write(byteData, 1, length - 1);
ShowMsg(DateTime.Now + " " + key + "向服务器 传送:" + sfd.FileName);
}
}
}
else if(byteData[0]==0)//消息
{
ShowMsg(DateTime.Now + " " + key + "-服务端 说:" + Encoding.UTF8.GetString(byteData, 1, length) + "\n");
}
}
复制代码
在接收端弹出文件另存为对话框时并没有文件类型,如何才能确定传送文件的类型呢?求解?
PS:在传送文件是倒是可以限定文件类型集合~
作者:
changweihua
时间:
2013-7-6 16:41
既然你传了标识文件还是信息的字节,为什么不在加个文件类型的标识字节呢
作者:
zhangcheng5468
时间:
2013-7-6 18:06
changweihua 发表于 2013-7-6 16:41
既然你传了标识文件还是信息的字节,为什么不在加个文件类型的标识字节呢 ...
在WPF当中如何获取文件类型呢?除了使用正则表达式?
作者:
zhangcheng5468
时间:
2013-7-9 20:23
通过Path.GetExtension(string path)获取文件类型
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2