保存通过 REST API 检索的文件

问题描述 投票:0回答:1

我正在尝试在 NetSuite 中保存从外部源检索的文件。我正在从外部源发出 GET 请求来检索文件,但我不确定需要做什么才能将文件保存到特定记录。正文响应提供 ref 和 fileName。任何有关后续步骤的帮助将不胜感激。

我还没有尝试过任何东西。

suitescript suitescript2.0
1个回答
0
投票

我假设您已经在使用 Suitelet,您将需要 POST 文件对象以将其保存在数据库中。

您至少需要使用文件和记录模块。

导入文件对象后,您将需要定义它是什么文件类型,我使用一个函数来读取 mime 类型并返回 NetSuite 文件类型名称来完成此操作。

function convertType(mimeType) {
  if (mimeType === 'image/x-dw' || mimeType === 'application/x-autocad') {
     return file.Type.AUTOCAD
  } else if (mimeType === 'image/bmp') {
     return file.Type.BMPIMAGE
  } 

注意:NetSuite 文件类型有超过 20 种,它们不一定与 mime 类型完美匹配。您可以将任何文件类型分配给任何 mime 类型并仍然保存文件。据我所知,这只是为了让文件可以在 NetSuite 中搜索。一个缺点是没有真正的包罗万象,因此如果您动态获取文件类型,则必须选择一种不会经常使用的文件类型并将其设置为包罗万象,以便文件仍然保存。

一旦获得所有参数,您就可以创建文件 obj

var fileObj = file.create({
   name: name,
   fileType: fileType,
   contents: contents,
   folder: folderId
});

然后保存到您要保存的文件。

var fileID = fileObj.save();

record.attach.promise({
       record: {
          type: 'file',
          id: fileID
       },
       to: {
           type: convertRecType,
           id: recId
       }
 });

file.save 保存到文件柜,记录附加到您要附加的 NetSuite 记录。

上面的代码来自我的 Suitelet,您可以在 NS 文档中找到有关这些模块的更多详细信息

https://(您的域名).app.netsuite.com/app/help/helpcenter.nl?fid=chapter_4220488571.html&whence=

© www.soinside.com 2019 - 2024. All rights reserved.