Blazor - ondrop 事件不返回文件对象

Posted

技术标签:

【中文标题】Blazor - ondrop 事件不返回文件对象【英文标题】:Blazor - ondrop event doesn't return file object 【发布时间】:2020-12-25 22:55:05 【问题描述】:

我已将 @ondrop 事件绑定到我的 div 元素中,同时将本地图像拖放到 div 中,DragEventArgs 不返回 文件对象详细信息。

剃刀代码

<div @ondrop="@OnDrop"></div>

@code
    internal void OnDrop(DragEventArgs args)
    
        var files = args.DataTransfer.Files;
    

输出:

谁有这个案例的解决方案?

注意我的主要目标是将其转换为 FileStreamMemoryStream 然后将其保存到指定位置

【问题讨论】:

你不能没有 javascript。如果您查看 Blazor 源代码,则没有代码处理 DataTansfer。见这里github.com/dotnet/aspnetcore/issues/5532 感谢参考链接 【参考方案1】:

你应该在这里使用 preventDefault:

<div @ondrop:preventDefault="@OnDrop"></div>

也许你还是have to handle Dragover as well,我不确定。

【讨论】:

感谢您的建议。我仍然无法在 blazor 上使用建议的 preventDefault 和 ondragover 解决方案获取文件对象

以上是关于Blazor - ondrop 事件不返回文件对象的主要内容,如果未能解决你的问题,请参考以下文章

H5 拖拽读取文件和文件夹

目标对象,源对象

如何在拖放源中创建 Dojo onDrop 事件

文件拖拽上传

Blazor University (27)路由 —— 检测导航事件

从 Blazor 组件 (.razor) 重定向到 Razor 页面 (.cshtml) [服务器端]