微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 JSPDF 文件添加为列表项附件

如何解决将 JSPDF 文件添加为列表项附件

我们正在尝试将附件保存到同时创建的多个列表项。 PDF 文件是使用 jspdf 动态创建的,并针对列表项存储

以下是通过调用名为 addItem() 的通用函数来创建列表项附件的函数

调用 addItem() 的函数

function p1()
{
   CreateItem(fromEmail,distemail,ccEmail,subject,body).then(function(resp){
                        
   console.log(resp);
   var Lid = resp.d.Id; // gets the list item ID
   var PDFStream = PDFArray; // Global Variable to get the jsPDF File
   var Fname = DFileName; // Global Variable to get the name of the attachment
   addItem(Lid,PDFStream,Fname);
  });
}

function p2()
{
   CreateItem(fromEmail,Fname);
  });
}

添加附件功能

function addItem(Lid,PDFFile,Fname) {
                        
            var File = PDFFile;
            var deferred = $.Deferred();           

                $.ajax({
                    url: _spPageContextInfo.webAbsoluteUrl +
                     "/_api/web/lists/getbytitle('ExtEmailsList')/items(" + Lid + ")/AttachmentFiles/add(FileName='"+Fname+"')",type: 'POST',data: File,processData: false,headers: {
                        "Accept": "application/json; odata=verbose","content-type": "application/json; odata=verbose","X-RequestDigest": $('#__REQUESTDIGEST').val(),"content-length": File.length
                    },success: function (data) {          
                    deferred.resolve(data);
                    },error: function (err) {
                    deferred.reject(err);
                    }
               }); // ajax | POST      
        return deferred.promise();    
      };

多次调用上述函数,但该函数间歇性地创建附件,其他时候失败,附件列为空。假设函数 1 调用 addItem ,它会创建附件,但是函数 2 的调用失败,反之亦然。

我试过调试,但是没有错误。如果有人能让我们知道如何让它与调用 addItem() 的多个函数一起工作,我们将不胜感激。

提前致谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。