2014-04-09 59 views
0
var graphids = from o in db.OfflineCarts 
           join i in db.Graphs on o.ItemId equals i.ItemUserID 
           select i; 

      GridView gv = new GridView(); 
      gv.DataSource = graphids.ToList(); 
      gv.DataBind(); 
      Response.ClearContent(); 
      Response.Buffer = true; 
      Response.AddHeader("content-disposition", "attachment; filename=GraphTable.xls"); 
      Response.ContentType = "application/ms-excel"; 
      Response.Charset = ""; 
      StringWriter sw = new StringWriter(); 
      HtmlTextWriter htw = new HtmlTextWriter(sw); 
      gv.RenderControl(htw); 
      Response.Output.Write(sw.ToString()); 
      Response.Flush(); 
      Response.End(); 
      Encryption(); 


    public void Encryption() 
    { 

     string password = @"myKey123"; // Your Key Here 
     UnicodeEncoding UE = new UnicodeEncoding(); 
     byte[] key = UE.GetBytes(password); 

     string cryptFile = "/Users/Neeraj/Downloads/UserFilesEncrypt.xls"; 
     FileStream fsCrypt = new FileStream(cryptFile, FileMode.CreateNew); 

     RijndaelManaged RMCrypto = new RijndaelManaged(); 
     CryptoStream rs = new CryptoStream(fsCrypt, 
      RMCrypto.CreateEncryptor(key, key), 
      CryptoStreamMode.Read); 

     CryptoStream cs = new CryptoStream(fsCrypt, 
      RMCrypto.CreateEncryptor(key, key), 
      CryptoStreamMode.Write); 

     string inputFile = "/Users/Neeraj/Downloads/GraphTable.xls"; 
     FileStream fsIn = new FileStream(inputFile, FileMode.Open); 

     int data; 
     while ((data = fsIn.ReadByte()) != -1) 
      cs.WriteByte((byte)data); 

     fsIn.Close(); 
     cs.Close(); 
     fsCrypt.Close(); 

    } 

我加密文件,它是由网格视图中mvc5下载刚过瞬间,但我得到0字节的加密文件,当我重新下载文件,比我得到适当的加密文件可能有人告诉我,什么是错的代码或我必须下载后推迟加密功能的某个时候文件加密

回答

1

使用System.Security

FileStream fsInput = new FileStream(sInputFilename, 
       FileMode.Open, 
       FileAccess.Read); 

FileStream fsEncrypted = new FileStream(sOutputFilename, 
       FileMode.Create, 
       FileAccess.Write);