Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   аналог функции file_get_contents для локальной машины (https://javascript.ru/forum/css-html-internet-explorer/23488-analog-funkcii-file_get_contents-dlya-lokalnojj-mashiny.html)

lord2kim 25.11.2011 13:05

аналог функции file_get_contents для локальной машины
 
3дравствуйте!
мне необходимо получить base64-код выбранного, например, в элементе file, изображения...
думаю, аналог PHP-функции base64_encode подойдет, но как правильно открыть бинарник для его последующего преобразования в base64 ?

Pavel M. 25.11.2011 13:34

сегодня читал статью http://habrahabr.ru/blogs/html5/133351/
там, похоже, про это

lord2kim 25.11.2011 13:47

Цитата:

Сообщение от Pavel M. (Сообщение 138948)
сегодня читал статью http://habrahabr.ru/blogs/html5/133351/
там, похоже, про это

про это) но не под осла(((

lord2kim 27.11.2011 14:22

решение найдено
var adodb = new ActiveXObject("ADODB.Stream");
adodb.Open();
adodb.Type = 1; // Binary file is encoded
adodb.LoadFromFile("picture.jpg");

var xml = new ActiveXObject("Microsoft.XMLDOM");
var element = xml.createElement("Base64Data");
element.dataType = "bin.base64";
element.nodeTypedValue = adodb.Read();

var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.CreateTextFile("encoded.txt", true, false);

// Get base64 value and write to file
file.Write(element.text);
file.Close();

ActiveX объект ADODB.Stream умеет открывать файлы как бинарные...
если "объект не может быть создан", то читаем важные замечания в этой статье


Часовой пояс GMT +3, время: 05:24.