Как записать двоичные данные Image в локальную файловую систему, используя сервисы Node.js на webOS? - PullRequest
2 голосов
/ 28 декабря 2011

Я пытаюсь записать данные изображения, полученные от Evernote getResourceData -метода, в локальную систему в коде JavaScript, используя Node.js.Файл изображения успешно сохраняется, но, похоже, он поврежден, и я не могу его открыть.

Функция getResourceData возвращает двоичные данные ресурса с предоставленным GUID.Например, если бы это был ресурс изображения, он бы содержал необработанные биты изображения.

Вот код:

Client.js :

var onSuccess = function(resource, transport) {
  self.showResourceData(resource);
  //console.log("Got Resource: "+resource);
};
NoteStore.getResourceData(onSuccess,this.showAlertMessage.bind(this, 
    "Failed to get Resource"), inSender.getValue());

showResourceData: function(resource) {
  //Calls WriteFileAssistant service
  this.$.writeFile.call({ path: "/downloads/logo1.png", content: resource });
}

WriteFileAssistant.js :

WriteFileAssistant.prototype.run = function(future) {
  var filePath = this.controller.args.path;
  var content = this.controller.args.content;

  var downloadfile = fs.createWriteStream(filePath,
      {'flags': 'w', encoding: 'binary'});
  downloadfile.write(content, encoding='binary', function(err) {
    future.result = { path: filePath, bytes: content.length, error: err };
  });
}

Любая помощь будет принята с благодарностью.

-Petro

...