将文件保存到磁盘后,Blazor FileStream 流为空

问题描述 投票:0回答:1

因此,我尝试使用 file.CopyToAsync 将一个流复制到另一个流中,但目标流 fs 在保存到磁盘后返回长度为 0。

                        FileUploads fup = new FileUploads();
                        Stream file = e.File.OpenReadStream(10240000);

                        var path = @"C:\BlazorUploads\" + e.File.Name;

                        FileStream fs = File.Create(path);
                        file.CopyToAsync(fs);

                        fup.FileStream = fs;
                        fup.FileName = e.File.Name;
                        fup.ContentType = e.File.ContentType;
                        fups.Add(fup);

我尝试了多种方法,无论有没有等待,但都没有运气。

c# blazor
1个回答
0
投票
using FileStream fs = File.Create(path);  // add the 'using'
file.CopyToAsync(fs);

fup.FileStream = fs;  // don't do this

不要存储流对象,它应该是短暂的。
您的

fup
拥有按需重新打开文件的一切。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.