#html #download
#HTML #Скачать
Вопрос:
Наличие загружаемого файла в HTML5 довольно просто в коде.
<a href="/files/whateverFile.txt" download="fileNameForUser.txt">
Это берет файл в расположении href и отправляет его в ОС для загрузки этого файла с именем файла в параметре download=»fileName» .
Чего я не понимаю, так это когда вы делаете это
<a href="data:application/txt;charset=utf-8,theseAreTheFileContents" download="fileName.txt">
Это попросит пользователя загрузить fileName.txt который содержит «theseAreTheFileContents» в качестве текста внутри. Данные находятся на самой странице, и браузер не ищет никаких других URL-адресов для получения требуемых данных.
Почему содержимое файла находится в href? Href сообщает браузеру местоположение определенного ресурса. Почему бы не иметь больше полей в загружаемых привязках? Например
<a href="null" datatype="application/txt" charset="utf-8" data="theseAreFileContents" download="fileName.txt">
Разве это не более понятно? Href не должен означать более одной конкретной вещи.
Ответ №1:
data:
URL-адреса схемы являются стандартными (которые предшествуют download
атрибуту).
Они не были созданы для использования с элементами привязки (и чаще всего используются для встраивания небольших изображений в файлы CSS).
Привязочные элементы не были предназначены для связи со встроенными данными, они просто поддерживают их, потому data:
что схема существует.