嗨,我正在从用户的计算机中读取文件,然后使用特定的网络凭据将其写入网络共享,这会损坏一小部分文件。当我在十六进制编辑器中打开文件时,第一行的十六进制不同
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();
}
}