首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blazor文件上传IFormFile

Blazor文件上传IFormFile
EN

Stack Overflow用户
提问于 2020-05-26 21:07:44
回答 1查看 2.2K关注 0票数 1

我正在使用Blazor Wasm,我想上传一个pdf或jpeg文件到服务器。

请不要分享服务器端的代码,所有的例子都解释了服务器端。但是我需要一个客户的例子。

因为,我想上传一些日期的媒体文件。我将使用multipart/form-data,但我不能将我的文件分配给IFormFile。

如何将文件/文件流分配给IFormFile?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-05-26 21:46:16

目前,我不认为有任何用于上传文件的本地Blazor wasm组件。它存在很多使用JSInterop的文件上传组件。其中我尝试过的有Radzen fileuploadSteve Sandersons (one of the developers behind blazor) fileuploadMatBlazor fileupload

然而,目前Mono中存在一些内存问题,即Blazor运行在其上的底层开发平台。这意味着Blazor只能管理最大5-6MB的文件。因此,我建议您使用Blazor组件,该组件严格使用javascript将文件发布到服务器,例如Radzen fileupload。

下面是一个使用MatBlazor的客户端文件上传示例(因为这就是我手中的ATM机):

代码语言:javascript
复制
     <div class="p-2">
                <MatFileUpload OnChange="AddFile" class="form-container" Label="Upload File"></MatFileUpload>
                </div>

@code
 {

    private async Task AddFile(IMatFileUploadEntry[] files)
    {
        var file = files.FirstOrDefault();
                if (file != null)
                {
                    var ms = new MemoryStream();
                    await file.WriteToStreamAsync(ms);
                    var content = new MultipartFormDataContent 
                     {
                        { new ByteArrayContent(ms.GetBuffer()), 
                          "\"uploadFile\"", 
                          file.Name 
                        }
                    };
                    await client.PostAsync("uploadFile", content);
                }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62022890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档