У меня возникли трудности с загрузкой и прикреплением к элементу списка в sharepoint с использованием пакета PNP / SP.У меня нет большого опыта работы с компонентом входного файла, поэтому я думаю, что, возможно, упускаю шаг между элементом html загрузки файла и отправкой файла в веб-службу SharePoint.
До сих пор я пытался следоватьПример PNP с несколькими изменениями https://pnp.github.io/pnpjs/sp/docs/attachments/ и попыткой использовать несколько разных аргументов, но все они, как правило, приводят к 409 или 500 ошибкам, одна ошибка указывает на то, что он пытается выполнить запрос GET вместо публикации.
MyНиже приведен код, и я отправлю полные сообщения об ошибках, когда завтра доберусь до офиса, но любая помощь будет принята с благодарностью.
private setButtonsEventHandlers(): void {
let fileUpload = document.getElementById("fileUploadInput")
if(fileUpload) {
fileUpload.addEventListener('change', () => {
this.uploadFiles(fileUpload);
});
}
}
private async uploadFiles(fileUpload) {
let file = fileUpload.files[0];
let attachmentsArray = this.state.attachmentsToUpload;
let _web = new Web(this.props.wpContext.pageContext.site.absoluteUrl);
let _listItem;
let listUrlSplit: string[] = this.props.listUrl.split("/");
let listName: string = listUrlSplit[listUrlSplit.length-1];
_listItem = await _web.lists.getByTitle(listName).items.getById(this.props.id);
let attachmentUpload = await _listItem.attachmentFiles.add(file.name,file)
}
Я проверил код (ниже), заменив загрузку файла строками иэто работает, поэтому я думаю, что моя ошибка в неправильном понимании элемента входного файла
let attachmentUpload = await _listItem.attachmentFiles.add("Testfile.txt","This is test content")
Заранее всем спасибо и наслаждайтесь тем, что осталось от воскресенья;)
Andy