Forum Discussion
Jon Ivar Kleveland
Mar 17, 2017Copper Contributor
Copy documents between libraries with js pnp
Hi, I'm looking for some samples using PnP js to copy documents between libraries in SPO. (I've tries Binging etc...) Any?
- Mar 19, 2017
Hi there,
It can be done with `copyTo` method. With pnp-core-js:$pnp.sp.web .getFileByServerRelativeUrl('/sites/dev01/DocLib01/tttt/Development and Deployment Guidelines.pdf') .copyTo('/sites/dev01/DocLib03/Development and Deployment Guidelines.pdf', true) .then(function(res) { console.log(res); });
Which constructs POST request to the following REST endpoint:
/_api/web /getfilebyserverrelativeurl('[server relative url of the file to copy') /copyto(
strnewurl='[server reletive url where to copy, including file name]',
boverwrite=true)--
Cheers,
Andrew
Mar 19, 2017
Hi there,
It can be done with `copyTo` method. With pnp-core-js:
$pnp.sp.web .getFileByServerRelativeUrl('/sites/dev01/DocLib01/tttt/Development and Deployment Guidelines.pdf') .copyTo('/sites/dev01/DocLib03/Development and Deployment Guidelines.pdf', true) .then(function(res) { console.log(res); });
Which constructs POST request to the following REST endpoint:
/_api/web /getfilebyserverrelativeurl('[server relative url of the file to copy') /copyto(
strnewurl='[server reletive url where to copy, including file name]',
boverwrite=true)
--
Cheers,
Andrew
brainstorm160
Feb 19, 2021Copper Contributor
Thank you for your answer
I used your method with sp pnp like below
sp.web.getFileByServerRelativeUrl(attachments.ServerRelativeUrl)
.copyTo('(siteName)/TestDocuments/',false)
.then(result => {
console.log("Uploaded Document", result)
})
However, it is constructed Get request not Post. As a result I face the following error message
The HTTP method 'GET' cannot be used to access the resource 'CopyTo'. The operation type of the resource is specified as 'Default'. Please use correct HTTP method to invoke the resource
How can I fix this issue?
Thank you so much ahead