We help IT Professionals succeed at work.

"The parameter name url is not valid" on SharePoint REST API Call

I'm using the code example 2 found here, attempting to add a file to a list in a SharePoint Online add-in. I'm getting the error "The parameter name url is not valid" in the call to the function:

function addFileToFolder(arrayBuffer) {

        var fileName = $('#itemNumber').val() + "_image.png";

        var fileCollectionEndpoint = serverUrl + "_api/web/Lists/getByTitle('Pictures')/Files/Add(url='" + fileName + "', overwrite=true)"


        return jQuery.ajax({
            url: fileCollectionEndpoint,
            type: "POST",
            data: arrayBuffer,
            processData: false,
            headers: {
                "accept": "application/json;odata=verbose",
                "X-RequestDigest": myFormDigest,
                "content-length": arrayBuffer.byteLength

Open in new window

fileCollectionEndpoint is:

"https://mySite-4642a56ed1c7b9.sharepoint.com/sites/develop_apps/PunchlistTracking/_api/web/Lists/getByTitle('Pictures')/Files/Add(url='myFile.png', overwrite=true)"

which is a valid API path. I'm not finding anything on this error online. Any ideas?
Watch Question

I don't believe commas are valid in a URL
Remove it and test
Try removing quotes then other chars if needed to find the issue
Solutions Architect
Not sure why, but this resolves the issue:

https://mysite-4642a56ed1c7b9.sharepoint.com/sites/develop_apps/PunchlistTracking/_api/web/getfolderbyserverrelativeurl('Lists/Pictures')/files/add(overwrite=true, url='CDA001-PL-0012_image.png')

Open in new window

Michael VasilevskySolutions Architect


Only working solution provided