Вопрос не соответствует заголовку.
Парсить ссылку на php при помощи
php.net/manual/ru/function.parse-url.php
На js Можно создать новыю ссылку <a> и потом использовать его методы
https://developer.mozilla.org/en-US/docs/Web/API/H...
По поводу самого вопроса:
Идете почти правильно, но ряд шагов пропущен.
1. Нет проверки загруженного файла, может там и не картинка вовсе.
2. Отдавать tmp_name на клиент - бессмысленно. Сперва нужно сделать move_uploaded_file()
3. var_dump() не нужен. Отдавайте сам json. И к нему еще заголовки нужны, по хорошему.
4. Вместо echo "Файл не отправлен" лучше отдавать json с ошибкой. Вы же потом планируете ее через js показывать?
Пример standalone ф-ции проверяющей и сохраняющей картинку:
pastebin.com/EGUN8mLK
Пример отправки json на клиент:
pastebin.com/wzF0Ec7K
На счет статуса в json, псевдокод:
if ( /* успешно загружено */) {
$response = [
'status' => 'ok',
'url' => $url
];
} else {
$response = ['status' => 'error'];
}
sendJson(response);
И на стороне клиента:
$.ajax({
...
success: function (data){
if(data.status == 'ok') {
$('myPreview').attr('src', data.url)
} else {
// показать ошибку
}
}
});