将 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...