我想让它自动保存,不要弹窗出来提示保存,
这是我一开始有弹出保存提示的代码
if (arrMsgRec[0] == 1)//表示收到的是文件
                {
                    SaveFileDialog sfd = new SaveFileDialog();
                    if(sfd.ShowDialog(this)==System.Windows.Forms.DialogResult.OK)
          
                    {
                        string fileSavePath=sfd.FileName ;//获得文件保存路径                        
                        using (FileStream fs=new FileStream (fileSavePath ,FileMode.Create ))
                        {
                            fs.Write (arrMsgRec ,1,length-1);
                            
                            ShowMsg("文件保存成功:"+fileSavePath );
                        }
                    }
                }
然后我修改的是在开头加上
static string fileSavePath = Application.StartupPath + "\\save\\";   //保存至Save文件夹中
这个语句,然后代码修改为
                if (arrMsgRec[0] == 1)//表示收到的是文件
  {
                        
                        using (FileStream fs=new FileStream (fileSavePath ,FileMode.Create ))
                        {
                            fs.Write (arrMsgRec ,1,length-1);
                            
                            ShowMsg("文件保存成功:"+fileSavePath );
                        }
                    
                }
弹出来的呃提示是
是不是因为我没有给文件命名而导致无法存到文件夹中?怎么直接将收到的文件进行命名呢(我想以收到文件时间的分,秒对文件进行命名)???求救啊!!谢谢

解决方案 »

  1.   

    using (FileStream fs=new FileStream (fileSavePath ,FileMode.Create ))
                             {
                                 fs.Write (arrMsgRec ,1,length-1);
                                 
                                 ShowMsg("文件保存成功:"+fileSavePath );
                             }前面需要在fileSavePath后面再追加个文件名,你的只是路径没有文件名
      

  2.   

    例如将当前时间当做文件名 string.Format("{0:yyyyMMddHHmmssfff}", System.DateTime.Now),此外还需要在文件名后追加文件的后缀
      

  3.   

    谢谢,可是我现在又有点问题出现了,它自动存储后,文件接收不完全,比如我发的文件是50k左右的,而我接收到的确实3.66k,我接收缓冲区为2M左右,不知道为啥只能接收3.66k后便停止,之前手动存储时候是不会出现这种问题的
    这是我修改后的代码
                    if (arrMsgRec[0] == 1)//表示收到的是文件
      {
                    string SaveFileName =string.Format("{0:yyyyMMddHHmmssfff}", System.DateTime.Now);    
                    string houzhui = string.Format(".jpg");    
                            using (FileStream fs=new FileStream (fileSavePath +SaveFileName+houzhui,FileMode.Create ))
                            {
                                fs.Write (arrMsgRec ,1,length-1);
                                
                                ShowMsg("文件保存成功:"+fileSavePath+ SaveFileName+houzhui);
                            }
                        
                    }
    求解啊,谢谢啦