works with non local file storages

Some file storage not implement path property. In that case now it will use url for guessing mimetype of uploaded file.