0

我在 SPFx Webpart 中编写了以下代码,以将文件上传到 Sharepoint 库。它有时会给我错误,例如 TypeError : Failed to fetch。谁能给我一些想法这个错误意味着什么以及如何解决它。

function uploadFile(myfile, target) {
        var dfd = $.Deferred();
        sp.web.webs.filter("Title eq 'DMS'").get().then(webData => {
            const _web = Web(webData[0].Url);
            //for files < 10 MB
            if (myfile.size <= 10485760) {
                _web.getFolderByServerRelativeUrl(target).files.add(myfile.name, myfile, true).then((result) => {
                    dfd.resolve(result);
                }).catch(err => {
                    dfd.reject(err + ". Error in method: uploadFile while uploading File");
                });
            }
            //for files > 10 MB
            else {
                _web.getFolderByServerRelativeUrl(target)
                    .files.addChunked(myfile.name, myfile)
                    .then(({ file }) => file.getItem()).then((item: any) => {
                        dfd.resolve(item);
    
                    }).catch(err => {
                        dfd.reject(err + ". Error in method: uploadFile while uploading File");
                    });
            }
        }).catch(err => {
            dfd.reject(err + ". Error in method: uploadFile while getting web");
        });
        return dfd.promise();
    }
4

1 回答 1

0

看起来您还没有初始化 pnpjs (sharepoint) 库。错误“无法获取”通常意味着 CORS 请求被拒绝。查看“入门”文档:https ://pnp.github.io/pnpjs/getting-started/

class HelloWorldWebPart {
  ....
  public onInit() {
    ...
    sp.setup(this.context);  //< this part seems to be missing?
于 2020-11-10T23:03:10.650 回答