C# winform程序,openfiledialog 的文件后缀 与之后的savefiledialog一致,
比如我想传送一个文件,用这个:privatevoidbutton3_Click(objectsender,EventArgse){fileopen.InitialDire...
比如我想传送一个文件, 用这个:
private void button3_Click(object sender, EventArgs e)
{
fileopen.InitialDirectory = "c:\\";
fileopen.RestoreDirectory = true;
if (fileopen.ShowDialog()==DialogResult.OK)
{
this.textBox1.Text=fileopen.FileName;
try
{
FileStream fs = new FileStream(fileopen.FileName, FileMode.Open);
byte[] 数据 = new byte[fs.Length];
fs.Read(数据, 0, (int)fs.Length;
fs.Close();
}
catch (Exception ex)
{
MessageBox.Show("悲剧: 无法读取磁盘文件! 原话: " + ex.Message);
}
}
然后接收端我用了:
SaveFileDialog sfdg2 = new SaveFileDialog();
if (sfdg2.ShowDialog() == DialogResult.OK)
{
path = sfdg2.FileName;
FileStream 接收文件流 = new FileStream(path, FileMode.CreateNew, FileAccess.Read);
接收文件流.Write(data2, 0, (int)data2.Length);
}
else
{
}
我想保存的时候在这里会自动有后缀
请问如何做到,希望能把我的代码加以改动
实现上述的要求,十分感谢~
还有一个50分的悬赏。。。没有人会,路过帮帮忙多谢啦~
http://zhidao.baidu.com/question/460578889.html?quesup2 展开
private void button3_Click(object sender, EventArgs e)
{
fileopen.InitialDirectory = "c:\\";
fileopen.RestoreDirectory = true;
if (fileopen.ShowDialog()==DialogResult.OK)
{
this.textBox1.Text=fileopen.FileName;
try
{
FileStream fs = new FileStream(fileopen.FileName, FileMode.Open);
byte[] 数据 = new byte[fs.Length];
fs.Read(数据, 0, (int)fs.Length;
fs.Close();
}
catch (Exception ex)
{
MessageBox.Show("悲剧: 无法读取磁盘文件! 原话: " + ex.Message);
}
}
然后接收端我用了:
SaveFileDialog sfdg2 = new SaveFileDialog();
if (sfdg2.ShowDialog() == DialogResult.OK)
{
path = sfdg2.FileName;
FileStream 接收文件流 = new FileStream(path, FileMode.CreateNew, FileAccess.Read);
接收文件流.Write(data2, 0, (int)data2.Length);
}
else
{
}
我想保存的时候在这里会自动有后缀
请问如何做到,希望能把我的代码加以改动
实现上述的要求,十分感谢~
还有一个50分的悬赏。。。没有人会,路过帮帮忙多谢啦~
http://zhidao.baidu.com/question/460578889.html?quesup2 展开
展开全部
完全自动的加后缀是不行的,因为文件名并非文件的“内容”,所以变成文件流传送后,只有里面的二进制流,接收方压根不知道收到的文件应该是啥格式。
除非传送的时候顺带告诉接收方这是啥格式的,那样就可以像楼上那样弄了。
除非传送的时候顺带告诉接收方这是啥格式的,那样就可以像楼上那样弄了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SaveFileDialog sfdg2 = new SaveFileDialog();
sfdg2 .Filter="*.txt|*.txt";//保存txt格式!
if (sfdg2.ShowDialog() == DialogResult.OK)
{
path = sfdg2.FileName;
FileStream 接收文件流 = new FileStream(path, FileMode.CreateNew, FileAccess.Read);
接收文件流.Write(data2, 0, (int)data2.Length);
}
else
{
}
sfdg2 .Filter="*.txt|*.txt";//保存txt格式!
if (sfdg2.ShowDialog() == DialogResult.OK)
{
path = sfdg2.FileName;
FileStream 接收文件流 = new FileStream(path, FileMode.CreateNew, FileAccess.Read);
接收文件流.Write(data2, 0, (int)data2.Length);
}
else
{
}
追问
谢谢了,后来想了个办法,传文件的时候开辟出一个N字节大小的前缀,放进去文件名,后缀,大小之类的信息,后面的byte[]放入内容,传的时候分离出2者,然后就得到了文件的后缀,名称,大小,信息,赋值给SaveFileDialog的属性,哈哈~
还是谢啦~分给你啦~
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询