Как сохранить записи с полем Актив, используйте сервер-сервер cloudkit.js - PullRequest
1 голос
/ 13 апреля 2019

Я хочу использовать серверный облачный набор js.чтобы сохранить запись с полем Актив.
поле Актив - аудио m4a.после сохранения аудиофайл поврежден для воспроизведения

В документе Apple не ясно о поле «Актив».
В записи, которая сохраняется в базе данных, значениеполе Актив должно быть типом window.Blob.В приведенном выше фрагменте кода тип переменной assetFile - window.File.
Документы: https://developer.apple.com/documentation/cloudkitjs/cloudkit/database/1628735-saverecords

, но в nodejs нет Blob или . Файл , я заполнил его буфером, подобным следующему коду:


var dstFile = path.join(__dirname,"../test.m4a");
var data = fs.readFileSync(dstFile);
let buffer = Buffer.from(data);

var rec = {
    recordType: "MyAttachment",
    fields: {
      ext: { value: ".m4a" },
      file: { value: buffer }
    }
  }
  //console.debug(rec);
  mydatabase.newRecordsBatch().create(rec).commit().then(function (response) {
    if (response.hasErrors) {
      console.log(">>> saveAttachFile record failed");
      console.warn(response.errors[0]);

    } else {
      var createdRecord = response.records[0];
      console.log(">>> saveAttachFile record success:", createdRecord);
    }
  });

Запись успешно сохранена.success Но когда я загружаю аудио с icloud.developer.apple.com/dashboard.
аудиофайл поврежден для воспроизведения .
Что с ним не так.спасибо, что ответили.

...