refactor save data adapter
be more defensive when getting file url

File or upload folder could be deleted.