有没有办法检测文件是否仅部分上传到C#中?具体来说,我正在谈论一个WAV文件,上传到网络路径(如共享驱动器),由于网络问题或其他原因已经停止。
我正在通过插入中间传输的网络电缆来模拟这一点。但我发现文件是在另一侧创建的,但文件大小是完整的文件大小,甚至记录的长度(使用下面的方法获得)也是全长。但是当我播放文件时,声音只是在文件的中间切断,剩下的只是继续播放(可能是我插上网线的地方)。
以下是我获取录音长度的方法。
StringBuilder bufferLengthStr = new StringBuilder(32);
mciSendString(string.Format("open \"{0}\" type waveaudio alias wave", fileName), null, 0, IntPtr.Zero);
mciSendString("status wave length", bufferLengthStr, bufferLengthStr.Capacity, IntPtr.Zero);
mciSendString("close wave", null, 0, IntPtr.Zero);
int recordingLength = 0;
int.TryParse(bufferLengthStr.ToString(), out recordingLength);
现在问题是,我知道该文件应该有多长,但上面的方法会返回全长,即使整个长度还没有充满声音。