DestinationFileName にアクセスしようとしていますが、パスへのアクセスが拒否されたという例外が表示されます。通常、パス変数に渡すデータは C:\Users\SkyDrive\SSD\SSDAssignment\SSDAssignment\MvcApplication1\Gallery\abc.jpg であり、DestinationFileName のパスは C:\Users\SkyDrive\SSD\SSDAssignment\ です。 SSDAssignment\MvcApplication1\Gallery
FileStream InFile = new FileStream(Path, FileMode.Open);
FileStream OutputStream = new FileStream(DestinationFileName, FileMode.Create, FileAccess.ReadWrite);
なぜ私がこの例外を抱えているのか、誰もが知っています..
彼はメソッド全体であるため、より明確になります
public bool HybridEncription(string Path, string DestinationFileName, string PublicKey)
{
FileStream InFile = new FileStream(Path, FileMode.Open);
FileStream OutputStream = new FileStream(DestinationFileName, FileMode.Create, FileAccess.ReadWrite);
RijndaelManaged Rm = null;
byte[] ToEncBytes = null;
try
{
ToEncBytes = new byte[InFile.Length];
InFile.Read(ToEncBytes, 0, (int)InFile.Length);
//Ask to use Keys of digital signing
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(PublicKey);
Rm = new RijndaelManaged();
byte[] EncryptedKey = rsa.Encrypt(Rm.Key, false);
byte[] EncryptedIV = rsa.Encrypt(Rm.IV, false);
OutputStream.Write(EncryptedKey, 0, EncryptedKey.Length);
OutputStream.Write(EncryptedIV, 0, EncryptedIV.Length);
ICryptoTransform Transform = Rm.CreateEncryptor();
CryptoStream CStream = new CryptoStream(OutputStream, Transform, CryptoStreamMode.Write);
CStream.Write(ToEncBytes, 0, ToEncBytes.Length);
CStream.FlushFinalBlock();
OutputStream.Flush();
CStream.Close();
InFile.Close();
OutputStream.Close();
System.IO.File.Delete(Path);
return true;
}