簡體   English   中英

使用 ASP.Net Core SDK 3.0 preview8(Blazor 框架)上傳圖像

[英]Uploading image using ASP.Net Core SDK 3.0 preview8 (Blazor framework)

我需要使用 Blazor 框架使用 ASP.Net Core SDK 3.0 preview8 上傳 DICOM 圖像。

在這種情況下是否需要 JSInterop? 這對解決問題有什么幫助?

在這種情況下需要遵循哪些步驟? 示例代碼將很有用.....

正如@Kornelis 提到的,您可以使用 BlazorFileReader 來獲取文件的字節流。 我正在使用該庫。 以類似的方式上傳文件。 我只是不上傳到服務器,而是為 Azure Blob 存儲中的 blob 創建 sas 令牌,並使用存儲 REST API 上傳文件數據。

要從輸入的 html 元素加載文件:

<input  type="file" @ref="@inputTypeFileElement" @ref:suppressField />

注意:目前在 prev8 中,在這種情況下使用 @ref 存在一個已知錯誤。 這樣就需要@ref:suppressField

使用庫獲取文件流:

foreach (var file in await fileReaderService.CreateReference(inputTypeFileElement).EnumerateFilesAsync())
{
     using (Stream stream = await file.OpenReadAsync())
     {
         await viewModel.UploadAsync(stream);
     }
}

這是我處理流的方式:

public async Task UploadAsync(Stream stream)
{
     using (HttpContent fileStreamContent = new StreamContent(stream))
     {
         //Add any headers you require here
         fileStreamContent.Headers.Add("x-ms-blob-type", "BlockBlob");
         var response = await _httpClient.PutAsync("your upload endpoint url", fileStreamContent);
      }
}

我想你可以使用 blazor 文件閱讀器: https : //github.com/Tewr/BlazorFileReader 將它上傳到字節數組,然后用它做你想做的事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM