Encryption 是否可以覆盖MultipartFormDataStreamProvider,以便在保存到文件系统之前对上载进行加密?

Encryption 是否可以覆盖MultipartFormDataStreamProvider,以便在保存到文件系统之前对上载进行加密?,encryption,asp.net-web-api,Encryption,Asp.net Web Api,我需要上传我的项目中的文件。我正在使用asp.net webapi来实现这个目的。我想在上传文件保存到文件系统之前对其进行加密。同样,我希望在将其发送回客户端之前对其进行解密。 我尝试在MultipartFormDataStreamProvider的GetStream方法中获取流,但它不起作用。 公共重写流GetStream(HttpContent父级、HttpContentHeaders头) { var stream=base.GetStream(父级,头); Rijndael myRijnd

我需要上传我的项目中的文件。我正在使用asp.net webapi来实现这个目的。我想在上传文件保存到文件系统之前对其进行加密。同样,我希望在将其发送回客户端之前对其进行解密。 我尝试在MultipartFormDataStreamProvider的GetStream方法中获取流,但它不起作用。 公共重写流GetStream(HttpContent父级、HttpContentHeaders头) { var stream=base.GetStream(父级,头); Rijndael myRijndael=Rijndael.Create(); Stream msEncrypt=new MemoryStream(); //创建加密程序以执行流转换。 ICryptoTransform encryptor=myRijndael.CreateEncryptor(myRijndael.Key,myRijndael.IV); CryptoStream csEncrypt=新加密流(msEncrypt,encryptor,CryptoStreamMode.Write)

任何帮助都将不胜感激。 谢谢
卡鲁纳

“不工作”这不是一个有用的诊断短语,尤其是当你希望我们远程调试你没有向我们展示的代码时。你能分享你的尝试吗?对不起,伙计们。我已经在MultipartformDataStreamProvider中重写了GetStream方法,如下所示:我修改了我的原始帖子,因为我无法在这里添加更多注释。
        ContentDispositionHeaderValue contentDisposition = headers.ContentDisposition;
        if (contentDisposition != null)
        {
            if (!string.IsNullOrEmpty(contentDisposition.FileName))
            {
                try
                {
                    byte[] bytearrayinput = new byte[stream.Length - 1];
                  csEncrypt.Write(bytearrayinput, 0, bytearrayinput.Length);
                    encrypted = msEncrypt;
                    msEncrypt.Seek(0, SeekOrigin.Begin);
                    return msEncrypt;
                }
                catch (Exception)

                    throw;
                }
                finally
                {
                    myRijndael.Dispose();
                    msEncrypt.Close();
                }
            }
        }
        return new MemoryStream();
    }