From 32e46d98be1a6cab0bf3b6a83bb0c8bd18e13d16 Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Thu, 30 Oct 2025 19:22:08 -0700 Subject: [PATCH] implement `files()` on web data transfer --- packages/web/src/data_transfer.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/web/src/data_transfer.rs b/packages/web/src/data_transfer.rs index c26214088..9fc00e9ea 100644 --- a/packages/web/src/data_transfer.rs +++ b/packages/web/src/data_transfer.rs @@ -1,3 +1,4 @@ +use crate::WebFileData; use dioxus_html::{FileData, NativeDataTransfer}; /// A wrapper around the web_sys::DataTransfer to implement NativeDataTransfer @@ -49,6 +50,17 @@ impl NativeDataTransfer for WebDataTransfer { } fn files(&self) -> Vec { - todo!() + let mut result = Vec::new(); + if let Some(file_list) = self.data.files() { + for i in 0..file_list.length() { + if let Some(file) = file_list.item(i) { + result.push(FileData::new(WebFileData::new( + file, + web_sys::FileReader::new().unwrap(), + ))); + } + } + } + result } }