Ошибка при загрузке изображения в качестве URL-адреса данных
Итак, я делал ссылку для загрузки изображения из URL-адреса данных (БОЛЬШОЙ):
<a download='fileName' href="data:image/png;base64,/9j/4WSsRX...">something</a>
Однако всякий раз, когда я пытаюсь нажать на эту ссылку, я получаю сообщение об ошибке, сообщающее о некоторых проблемах в сети.
Я сделал тест скрипки, но его БОЛЬШОЙ (15 МБ текста), и это займет некоторое время для загрузки:
https://jsfiddle.net/jjydp1ek/
Поскольку jsfiddle сложно загрузить, я добавил файл в mediafire: http://www.mediafire.com/download/p85y1g442ne9v6m/new++7.html
Тест представляет собой изображение с тем же значением URL-адреса данных, что и ссылка, изображение является видимым, однако я вижу, что опция открытия изображения в новой вкладке в Chrome не работает.
Я делаю это с холстом в то есть 11 и тоже не удается
Вопросы:
Можно ли когда-нибудь заставить его работать по ссылке для скачивания, как сейчас?
Существует ли ограничение на размер URL-адреса данных для загрузки файла?
Как мне сделать так, чтобы пользователь мог загрузить это изображение?
Кроме того, задавайте вопросы здесь или исправьте любую ошибку в тексте, который вы видите, если считаете, что он не понятен.
Благодарю.
1 ответ
У меня есть широкополосный 70 Мб и мощный компьютер, и эта скрипка JS даже не откроется.
Я не думаю, что возможно иметь строку в 15 МБ, так как она должна загружаться на страницу каждый раз при каждом посещении. Я бы попробовал следующее:
- Оптимизируйте изображение, вы можете включить gulp-imagemin, если вы хотите / хотите иметь Gulp для системы сборки. Я думаю, что есть альтернативы для Гранта, если вы хотите пойти по этому пути.
- Сохраните файл на сервере и просто поместите ссылку на путь, это предпочтительное решение.
В ответ на ваши вопросы
Лимит:
Ограничения по длине
Хотя Mozilla поддерживает URI данных практически неограниченной длины, браузеры не обязаны поддерживать какую-либо конкретную максимальную длину данных. Например, браузер Opera 11 ограничивает URI данных до около 65000 символов.
Источник: данные URI - MDN
загрузка
Приведенное выше предложение по оптимизации изображения настолько маленького размера, насколько это возможно, без потери качества, если это вызывает озабоченность. Попробуй тогда. Если нет, то не проблема дать пользователю ссылку на изображение / показать его на странице. Пользователь может щелкнуть правой кнопкой мыши и сохранить.
Заметка
К тому времени, как я закончил писать этот ответ, время ожидания JSFiddle истекло.