JS containing directive for file upload supporting drag and drop