这种方法,写入到文件后,只有一个有一定大小的空文件,感觉二进制并没有成功写入,我为这个琢磨了1天半了,却找不到方法,大家来帮帮我:( OK就给分,谢谢!/// <summary>
/// 将流保存为文件
/// </summary>
/// <returns></returns>
private bool SaveStreamToFile(byte[] txtFs,string path)
{
    try 
    { 
        ///定义实际文件对象,保存上载的文件。 
        FileStream f = new FileStream(path, FileMode.CreateNew);
    
        ///把内存里的数据写入物理文件 
        f.Write(txtFs,0,txtFs.Length);
        f.Flush();
    
        f.Close(); 
        f = null; 
    } 
    catch(Exception ex) 
    { 
        return false;
    } 
    return true;
}

解决方案 »

  1.   

    给你一个.. 
    /// <summary>
            /// Saves the file.
            /// </summary>
            /// <param name="FileName">Name of the file.</param>
            /// <param name="Result">The result.</param>
            public void SaveFile(string FileName, byte[] Result)
            {
    FileStream fs = new FileStream(FileName, FileMode.OpenOrCreate);
                           fs.Write(Result, 0, Result.Length);
                fs.Flush();
                fs.Close();        }
      

  2.   

    这个这个不是和我的一模一样吗...只是createnew变成了openorcreate...
      

  3.   

    我是上传后转缩略图,再生成一个stream,没有path
      

  4.   

    这个文件的路径是对的,我是用filestream(xxx, filemode.create)来创建的代码运行完,文件是正常创建了,大小也OK,就是文件是空的,啥都没有
      

  5.   

    是否该使用BinaryWriter类。  接分..哈哈
      

  6.   

    终于搞定了 >"< /// <summary>
    /// 将流保存为文件
    /// </summary>
    /// <returns></returns>
    private bool SaveStreamToFile(MemoryStream st,string path)
    {
        try 
        { 
            ///定义实际文件对象,保存上载的文件。 
            FileStream f = new FileStream(path, FileMode.OpenOrCreate);
        
            ///把内存里的数据写入物理文件 
            st.WriteTo(f);
            f.Flush();
        
            f.Close(); 
        } 
        catch(Exception ex) 
        { 
            return false;
        } 
        return true;
    }