0

我可以使用 sObject 将附件放在我的一条记录上。问题是 SF 没有将文件识别为 PDF,而是将其识别为通用文件。

      const base64data = await new Buffer.from(pdfBuffer).toString('base64');

      try {
        await conn.sobject('Attachment').create({
          ParentId: filename,
          Name: resumeFileName,
          Body: base64data,
          ContentType: fileType,
          Description: 'Resume Attachment',
        });
      } catch (e) {
        console.log('Attachment Error', e);
      }

当我查看记录的附件时,该文件没有 PDF 文件具有的所有选项(仅下载和删除)

图片

提前致谢!

4

1 回答 1

0

事实证明,为了让 Salesforce 正确识别 pdf,您需要将内容类型设置为application/pdf并且文件名必须包含.pdf扩展名。这对我有用:

(async () => {

    const jsforce = require('jsforce');
    const fs = require('fs');

    var conn = new jsforce.Connection({
        instanceUrl : '...',
        accessToken : '...'
    });

    const pdfData = fs.readFileSync('./test.pdf').toString('base64');

    try {
        await conn.sobject('Attachment').create({
            ParentId: '0012300000RWedX',
            Name: 'My Test PDF.pdf', // <= Turns out the name has to have .pdf
            Body: pdfData,
            ContentType: 'application/pdf',
            Description: 'Testing PDF Attachment',
        });
    } catch(err) {
        console.error(err);
    }

})();
于 2019-12-05T15:02:50.697 回答