Спасибо за информацию здесь.
Я считаю это вложение полезным и особенно для мобильных устройств, особенно с использованием кэшированного файла встроенных изображений.
Чтобы облегчить жизнь, так как мои файловые редакторы не обрабатывают это изначально, я сделал несколько простых сценариев для редактирования на ноутбуке / настольном компьютере, поделитесь ими на случай, если они пригодятся кому-либо еще. Я придерживался php, поскольку он обрабатывает эти вещи напрямую и очень хорошо.
В Windows 8.1 скажем ---
C:\Users\`your user name`\AppData\Roaming\Microsoft\Windows\SendTo
... там как Администратор вы можете установить ярлык для командного файла по вашему пути.
Этот пакетный файл будет вызывать php (cli) скрипт.
Затем можно щелкнуть правой кнопкой мыши изображение в проводнике и отправить пакетный файл.
Хорошо, запросите Admiinstartor и дождитесь закрытия окон черной командной оболочки.
Тогда просто вставьте результат из буфера обмена в свой текстовый редактор ...
<img src="|">
или
`background-image : url("|")`
Следующее должно быть адаптировано для других ОС.
Пакетный файл ...
rem @echo 0ff
rem Puts 64 encoded version of a file on clipboard
php c:\utils\php\make64Encode.php %1
И с php.exe на вашем пути, который вызывает скрипт php (cli) ...
<?php
function putClipboard($text){
// Windows 8.1 workaround ...
file_put_contents("output.txt", $text);
exec(" clip < output.txt");
}
// somewhat based on http://perishablepress.com/php-encode-decode-data-urls/
// convert image to dataURL
$img_source = $argv[1]; // image path/name
$img_binary = fread(fopen($img_source, "r"), filesize($img_source));
$img_string = base64_encode($img_binary);
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$dataType = finfo_file($finfo, $img_source);
$build = "data:" . $dataType . ";base64," . $img_string;
putClipboard(trim($build));
?>