Как управлять изображениями base64, когда пользователь сохраняет как - PullRequest
4 голосов
/ 04 марта 2012

Я создаю приложение, в котором я хочу показать пользователю диапазон изображений в кодировке base64. Они показаны с помощью data-url. Если пользователь хочет сохранить изображение, он может просто щелкнуть правой кнопкой мыши и сохранить как (или перетащить его в папку).

Есть ли какой-нибудь способ управления предложенным именем файла? Сейчас Chrome просто «скачивает» и даже не распознает его как изображение. Можно ли это сделать каким-либо образом?

Мне это нужно только для работы в Chrome.

Спасибо за любую помощь

Ответы [ 2 ]

4 голосов
/ 04 марта 2012

Убедитесь, что вы устанавливаете правильный тип пантомимы для изображения в данных URI.Это исправило расширение файла в Chrome 17 для меня.Файл был загружен как «download.png» и открылся нормально.

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg=="/>

Однако, если вам действительно нужен полный контроль над именем файла, вы можете использовать html5-атрибут «download» aтег, чтобы установить имя файла и создать объект Blob с вашими данными изображения, которые будут использоваться для загрузки.

См. демонстрацию здесь: http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

Подробнее здесь: http://dev.w3.org/2009/dap/file-system/file-writer.html

3 голосов
/ 04 марта 2012

Текущая спецификация не делает это возможным.

...