我正在使用Blazor Wasm,我想上传一个pdf或jpeg文件到服务器。
请不要分享服务器端的代码,所有的例子都解释了服务器端。但是我需要一个客户的例子。
因为,我想上传一些日期的媒体文件。我将使用multipart/form-data,但我不能将我的文件分配给IFormFile。
如何将文件/文件流分配给IFormFile?
谢谢
发布于 2020-05-26 21:46:16
目前,我不认为有任何用于上传文件的本地Blazor wasm组件。它存在很多使用JSInterop的文件上传组件。其中我尝试过的有Radzen fileupload,Steve Sandersons (one of the developers behind blazor) fileupload和MatBlazor fileupload。
然而,目前Mono中存在一些内存问题,即Blazor运行在其上的底层开发平台。这意味着Blazor只能管理最大5-6MB的文件。因此,我建议您使用Blazor组件,该组件严格使用javascript将文件发布到服务器,例如Radzen fileupload。
下面是一个使用MatBlazor的客户端文件上传示例(因为这就是我手中的ATM机):
<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);
}
}
}https://stackoverflow.com/questions/62022890
复制相似问题