DVUI

uploadedMultiple

Will only return a non-null value for a single frame

This function does nothing in non-wasm builds

Parameters

#
id:dvui.Id
dvui.Id

Source

Implementation

#
pub fn uploadedMultiple(id: dvui.Id) ?[]File {
        if (comptime dvui.backend.kind != .web) return null;
        const num_files = dvui.backend.getNumberOfFilesAvailable(id);
        if (num_files == 0) return null;

        const files = dvui.currentWindow().arena().alloc(File, num_files) catch |err| {
            dvui.log.err("File upload skipped, failed to allocate space for file handles: {any}", .{err});
            return null;
        };
        for (0.., files) |i, *file| {
            const name = dvui.backend.getFileName(id, i);
            const size = dvui.backend.getFileSize(id, i);
            if (name == null or size == null) {
                dvui.log.err("Could not get file metadata for id {d} file number {d}. Got size: {?d} and name: {?s}", .{ id, i, size, name });
                return null;
            }
            file.* = .{
                .id = id,
                .index = i,
                .size = size.?,
                .name = name.?,
            };
        }
        return files;
    }