[英]Is it possible to learn and use Blazor without prior knowledge or experience with Razor?
[英]Is it possible to use DxUpload (in DevExpress Blazor) without having an API?
我在我的Blazor Server App
項目中使用DevExpress
組件。 我想使用DxUpload
組件將一個 excel 文件上傳到服務器,並對數據庫進行一些批量插入操作。 文檔說我需要創建一個WEB API
項目。 當我的項目是Blazor Server App
時,我是否必須使用單獨的WEB API
?
我認為這個解決方案實際上比 DevExpress 希望您如何使用他們的組件更像是一個 hack。 但是,您可以通過公開的SelectedFilesChanged事件捕獲文件上傳,然后自己手動處理文件。
<DxUpload UploadMode=UploadMode.OnButtonClick
SelectedFilesChanged="@SelectedFilesChanged"
AllowMultiFileUpload="true"
@ref="MyUpload" >
</DxUpload>
<DxButton Text="Upload the First File" Click=OnButtonClick />
@code {
private string FileServerPath => "\\\\server-02\\DATA\\";
bool UploadVisible { get; set; } = false;
IEnumerable<UploadFileInfo> Files { get; set; }
UploadFileInfo FirstFile { get; set; }
DxUpload MyUpload { get; set; }
protected void SelectedFilesChanged(IEnumerable<UploadFileInfo> files) {
Files = files;
UploadVisible = files.ToList().Count > 0;
InvokeAsync(StateHasChanged);
}
protected async Task OnButtonClick(){
selectedFile= Files.First();
Stream stream = selectedFile.OpenReadStream(maxAllowedSize: 50000000);
FileStream fs = File.Create(FileServerPath + selectedFile.Name));
await stream.CopyToAsync(fs);
stream.Close();
fs.Close();
}
StateHasChanged();
}
顯然, OnButtonClick方法需要針對可空性、使用語句、在集合中選擇適當的文件等進行重構。 但這應該為您指明正確的方向。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.