Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法访问已释放的对象。对象名称:FileBufferingReadStream_C#_.net_Asp.net Mvc_File Upload_Stream - Fatal编程技术网

C# 无法访问已释放的对象。对象名称:FileBufferingReadStream

C# 无法访问已释放的对象。对象名称:FileBufferingReadStream,c#,.net,asp.net-mvc,file-upload,stream,C#,.net,Asp.net Mvc,File Upload,Stream,我正在尝试在azure中上载文件 所以基本上,我正在尝试将文件转换为流,以便在服务器上创建一个文件并写入其数据 public async Task UploadFileOnAzure( string path, string name, IFormFile file) { //create directory await _dlsService.CreateDir(path, name); //create file

我正在尝试在azure中上载文件

所以基本上,我正在尝试将文件转换为流,以便在服务器上创建一个文件并写入其数据

   public async Task UploadFileOnAzure( string path, string name, IFormFile file)
    {
        //create directory
        await _dlsService.CreateDir(path, name);
        //create file
        var f = file.FileName;
        var ext = Path.GetExtension(f);
        string filepath = $"{path}/{name.ToString()}/{f}";
        try
        {
            using (var ms = new MemoryStream())
            {
                using (var fileStram = file.OpenReadStream())
                {//sometimes it breakes right before this line, other times it doesn't write the file(excel)
                    fileStram.CopyTo(ms);
                    using (Stream str = await _dlsService.CreateFile(filepath)) //file is created as empty ofcourse
                    {
                        ms.CopyTo(str);
                        str.Close();
                        //this doesnt write on the file
                    }
                }
            }
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message.ToString());
        }


    }
无法访问已处置的对象。对象名称:FileBufferingReadStream。我经常遇到这个错误。我似乎不明白为什么。
我想只写在创建的文件上。请帮助:)

使用语句将在条款外处理和反对(刷新、关闭)。如果您尝试执行关闭代码,您将得到一个错误。您到底在哪里接收到该错误?@đěxěŕ有时我在这一行上得到错误
var fileStram=file.OpenReadStream()
。其他时候,我没有收到错误,但没有写入文件。这是上传文件的正确方式吗?还是编写一个?请删除using语句并重试。我们可以从这里开始。在复制文件数据时寻找一个类似的问题。using语句将在子句之外处理和对象(flush,close)。如果您尝试执行关闭代码,您将得到一个错误。您到底在哪里接收到该错误?@đěxěŕ有时我在这一行上得到错误
var fileStram=file.OpenReadStream()
。其他时候,我没有收到错误,但没有写入文件。这是上传文件的正确方式吗?还是编写一个?请删除using语句并重试。我们可以从那里开始。寻找一个关于复制文件数据的类似问题。