Javascript - SharePoint PnP js 调用返回"Item does not exist"



我正在运行一个小代码来上传SharePoint 2016文档库中的文件并更改元数据。

有时(但实际上经常(我的代码返回错误"在可查询 [404] 中生成 HttpClient 请求时出错",并显示消息"项目不存在。它可能已被其他用户删除。

这是我的代码:

pnp.sp.web.getFolderByServerRelativeUrl("/sites/mysite/ConfigDL").files.add(fileOgg.name, fileOgg, true).then(function (data) {
    var RelativeUrls="/sites/mysite/ConfigDL/"+fileOgg.name;
    //Retrive Document which is uploaded. Start
    pnp.sp.web.getFolderByServerRelativeUrl(RelativeUrls).getItem().then(item => {
        //update start Below Call to Doc List will update the Row baseed on Item.ID
        pnp.sp.web.lists.getByTitle("ConfigDL").items.getById(item.ID).update({
            Number: ""+number+""
        }).then(r => {
            alert(file.name + " upload successfully!");
        });//update end
    }); //Retrive Doc Info End
}); //Upload Document End

我不明白为什么此错误随机发生以及我的代码有什么问题。有什么建议吗?

我的 SharePoint

Online 中的示例测试代码,它应该与 SharePoint 2016 相同。

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pnp-pnpjs/1.3.4/pnpjs.es5.umd.bundle.min.js"></script>
    <script type="text/javascript">
        function UpLoadFile() {            
            var input = document.getElementById("thefileinput");
            var fileOgg = input.files[0];
            pnp.sp.web.getFolderByServerRelativeUrl("/sites/lee/MyDoc3").files.add(fileOgg.name, fileOgg, true).then(function (data) {
                var RelativeUrls = "/sites/lee/MyDoc3/" + fileOgg.name;
                //Retrive Document which is uploaded. Start
                pnp.sp.web.getFolderByServerRelativeUrl(RelativeUrls).getItem().then(item => {
                    //update start Below Call to Doc List will update the Row baseed on Item.ID
                    pnp.sp.web.lists.getByTitle("MyDoc3").items.getById(item.ID).update({
                        Test: "testvalue"
                    }).then(r => {
                        alert(fileOgg.name + " upload successfully!");
                    });//update end
                }); //Retrive Doc Info End
            }); //Upload Document End
            //pnp.sp.web.getFolderByServerRelativeUrl("/sites/lee/Shared Documents/asd").getItem().then(item => {
            //    console.log(item);
            //});
        }
    </script>
    <input id="thefileinput" type="file" />
    <br />
    <input id="Button1" onclick="UpLoadFile()" type="button" value="Upload" />

相关内容

最新更新