client-side attachment reading