こんにちは、ユーザーのコンピューターからファイルを読み取り、特定のネットワーク資格情報を使用してネットワーク共有に書き出すと、ファイルのごく一部が破損します。16 進数エディターでファイルを開くと、最初の行の 16 進数が異なります
Header: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
Good File: 50 4b 03 04 14 00 08 00 00 00 37 57 51 41 6f 61
Bad File: 50 4b 03 04 14 00 08 00 00 00 b7 56 51 41 6f 61
列 0a と 0b の違いはファイル全体に存在し、
私がこれについて間違った方法で行っている場合は、必ず私を修正してください。どんな助けでも大歓迎です。私が使用しているコードは以下のとおりです
var fileStream =
new FileStream(source, FileMode.Open, FileAccess.Read, FileShare.None);
var impersonationContext =
new WrapperImpersonationContext("myDomain", "myname", "myPass");
impersonationContext.Enter();
try
{
using (Stream file = File.OpenWrite(destination))
{
fileStream.CopyTo(file);
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
impersonationContext.Leave();
if(fileStream != null)
{
fileStream.Close();
}
}