преобразовать строку изображения base64 в файл изображения, который может быть передан в браузеры с помощью node.js - PullRequest
5 голосов
/ 13 июня 2011

Проблема заключалась в том, что заголовок HTTP ACCEPT не был принят Restify, код рендеринга изображения в порядке.


У меня есть изображение, закодированное в виде строки base64, и я хочу использовать его в качестве изображения с помощью node.js.В настоящее время у меня есть следующий код (я использую Restify), который отображает изображение в Chrome, но изображение не отображается в других браузерах (пробовал IE9, Firefox 4, браузер Android):

var decodedBuffer = new Buffer(dataString,"base64");            
    res.send({
          code: 200,
          headers: {'Content-Type': 'image/png', 'Content-Length': decodedBuffer.length},   
          noEnd: true                               
    });     

    res.write(decodedBuffer);                       
    res.end();  

Кто-нибудь может пролить свет на то, что я могу делать неправильно?

Спасибо

1 Ответ

1 голос
/ 08 августа 2012

Использовать синтаксис URI данных , что означает, что вы должны добавить к ответу протокол данных и тип MIME, а также указать кодировку base64:

res.write("data:image/png;base64,"+decodedBuffer);
...