问题描述:对于一些函数或者方法,它有时候不能识别带有中文名的地址,所以如果你想把目标文件存到你想要的带有中文名的文件夹,可以先把文件存到系统临时文件,再复制到你的目标目录下。
1.获取临时文件夹目录:
string tempFolder = Path.GetTempPath();
2.通过Guid获取一个全局唯一标识符
string tempName = $"{Guid.NewGuid().Tostring()}.mp3"; //生成具有唯一标识符的音频文件
string tempPath = Path.Combine(tempFolder,tempName); //定义并赋值变量:临时文件地址
3.将文件暂存到临时文件
await audioStream.SaveToWaveFileAsync(tempPath);
//audioStream是音频文件流,将音频内容写入临时文件
4.定义要存入的文件地址
string goalPath = Path.Combine(@"C:\Users\zhlsang\Desktop\英语\英语 初级\英语 01","goal.mp3")
//定义目标地址,以存入音频文件
5.将临时文件复制到目标文件(目标文件必须不存在,它是复制时候自己生成的)
File.Copy(tempPath,goalPath);//复制临时文件到目标文件
6.将临时文件删除
File.Delete(tempPath);//删除临时文件