Webodf отображать odf из байтов
Возможно ли для webodf прочитать файл odf / odt из его байтов? вместо URL?
В настоящее время использую:
var odfelement = document.getElementById("odf");
var odfcanvas = new odf.OdfCanvas(odfelement);
odfcanvas.load("url/to/file.odt");
и хотел бы что-то вроде
odfcanvas.loadFromBytes(bytes);
2 ответа
Да, можно прочитать файл odt из массива байтов, а затем загрузить его в редактор webodf.
Для этого вам придется использовать объекты BLOB-объектов javascript для создания файла из байтового массива (требуемый файл в байтовом формате).
Затем вы можете получить временный URL для этого объекта BLOB, который очень похож на сам файл. "URL" - это временный URL, созданный и сохраненный в браузере.
Когда у вас есть URL для вашего файла ( bytes => blob => getUrl), вы можете легко загрузить файл в ваш редактор webodf, используя функциюopenDocumentFromUrl.
var file = new Blob([data], {type: mimeType});
// data => your bytes file
// mimeType => the mimetype of file(odt : application/vnd.oasis.opendocument.text)
var myUrl= URL.createObjectURL(file);
// get the temorary url from blob object.
editor.openDocumentFromUrl(myUrl, function(){});
// editor is the active webodf context object which you get when webodf context is created
Мы используем WebAPI для выталкивания файлового потока. Кажется, вы могли бы настроить службу подкладки так же? Иначе может быть какая-то информация, чтобы почерпнуть форму локального редактора (как это должно сделать загрузку какой-либо формы)?
Что я мог бы помочь больше, но я сам новичок в WebODF, и до сих пор это было немного... тупо;)