Я пытаюсь сохранить в папке SharePoint файл .pptx
, созданный с использованием библиотеки pptxgenjs
.Я сгенерировал нужный мне большой двоичный объект в консоли, но не смог сохранить его в папке после создания.
Сценарий запускается по событию click.Я просто включаю последний бит, так как проблема есть.Я просто не знаю, как ее решить.
var targetUrl = webUrl + "/" + documentLibrary + "/" + folderName;
var FullUrl = webUrl + "/_api/Web/GetFolderByServerRelativeUrl(@target)/Files/add(overwrite=true, url='" + fileName + "')?$expand=ListItemAllFields&@target='" + targetUrl + "'";
function getFileBuffer(uploadFile) {
var deferred = jQuery.Deferred();
var reader = new FileReader();
reader.onloadend = function (e) {
deferred.resolve(e.target.result);
}
reader.onerror = function (e) {
deferred.reject(e.target.error);
}
reader.readAsArrayBuffer(uploadFile);
return deferred.promise();
}
function uploadFileToFolder(fileObj, url, success, failure) {
var apiUrl = FullUrl;
var getFile = getFileBuffer(fileObj);
getFile.done(function (arrayBuffer) {
$.ajax({
url: apiUrl,
type: "POST",
data: arrayBuffer,
processData: false,
async: false,
headers: {
"accept": "application/json;odata=verbose",
"X-RequestDigest": jQuery("#__REQUESTDIGEST").val(),
},
success: function (data) {
console.log(data);
//success(data);
},
error: function (data) {
console.log(data);
//failure(data);
}
});
});
}
pptx.save('jszip', function(file1) {
var newblob = file1;
getFileBuffer(newblob);
}, 'blob');
.pptx
должен быть сгенерирован и сохранен в указанном URL.Я не хочу, чтобы пользователь загружал файл pptx
или делал что-то еще.В настоящий момент я получаю окно загрузки с файлом pptx
, работающим нормально, но в консоли я получаю следующую ошибку: Uncaught (в обещании) TypeError: Не удалось выполнить readAsArrayBuffer для FileReader: параметр 1 не относится к типу'Blob'.
Любая помощь будет высоко ценится!