workaround failed to load when upload is not triggered directly by user event