Показать сообщение отдельно
  #3 (permalink)  
Старый 22.11.2019, 14:11
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от sovsem-nub
Вот даже рабочий пример https://jsfiddle.net/zip13/yfjn6g2x/6/ с огромной библиотекой. По сути то, что мне нужно сделать (только без библиотеки).
Там нет никакой библиотеки, но только одна функция download, которая написана с учётом работы и в старых браузерах тоже, вы можете использовать!

sovsem-nub, если вам не нужна работа в старых браузерах, то тот код можно сократить до...
<input type="file" onchange="download(this.files[0], 'test_'+this.files[0].name)">

<script>

function download(file, fileName) {
	const link = document.createElement("a");
	const objectURL = URL.createObjectURL(file);
	link.download = fileName;
	link.href = objectURL;
	document.body.append(link);
	requestAnimationFrame(() => {
		link.click();
		link.remove();
		URL.revokeObjectURL(objectURL);
	});
}

</script>


Сообщение от Poznakomlus
Скачивать файл или нет решает браузер от его настроек
Зависит от атрибута download у ссылки

Сообщение от Poznakomlus
вы можете прочитать файл если вам нужно
Не нужно, пишут ведь, что «загрузить файл, переименовать и тут же скачать»

Последний раз редактировалось Malleys, 22.11.2019 в 14:20.
Ответить с цитированием