There is a problem with the random filename logic in Plug when run on Windows, because :os.timestamp does not give microsecond resolution - at this point in the code:
And as there are only 10 reties, it sometimes results in:
** (Plug.UploadError) tried 10 times to create an uploaded file at C:\Windows\TEMP/plug-1495 but failed. Set PLUG_TMPDIR to a directory with write permission