首页 > 解决方案 > 没有 ID 为 1 的文件。文件列表可能已更改 Blazor

问题描述

当我尝试从列表上传文件时,出现此错误

“错误:没有 ID 为 1 的文件。文件列表可能已更改”

当我附加一个文件时它可以工作,但是当列表有多个文件时,我收到错误

我用来发送的电话是

调用函数

            foreach (var item in fileList)
            {
                var Enow = item.GetMultipleFiles();
                foreach (var _item in Enow)
                {
                    output = await _IfileUpload.Upload(_item, NewGuid.ToString());
                }
            }

被调用函数

    public async Task<string> Upload(IBrowserFile entry, string UploadGuid)
    {
        try
        {
            var path = Path.Combine(Directory.GetCurrentDirectory(), "Uploads/" + UploadGuid, entry.Name);
            var _path = Path.Combine(Directory.GetCurrentDirectory(), "Uploads/" + UploadGuid);
            if (!Directory.Exists(_path))
            {
                System.IO.Directory.CreateDirectory(_path);
            }

            Stream stream = entry.OpenReadStream();
            FileStream fs = File.Create(path);
            await stream.CopyToAsync(fs);
            stream.Close();
            fs.Close();

            return path;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

标签: c#blazorblazorinputfile

解决方案


BlazorInputFile 导致错误:“没有 ID 为 1 的文件”。在重新添加新文件时,不会保存属于先前文件的所有先前创建的对象。同时,索引以不再存在的未保存对象开始。在每个选择步骤保存文件会给出正确的索引。 Chrome inside 调试器指示 inputfile.js 中存在问题


推荐阅读