NetSuite SuiteScript修改文件柜中的文件

NetSuite SuiteScript修改文件柜中的文件,netsuite,Netsuite,NetSuite文件客户端中有需要更新的文件(url字段已更改)。我在这个网站上找到了这篇文章,但是没有代码示例来执行请求的操作。指示使用nlapiLoadFile和nlapiSubmitFile调用;是否有人能够提供代码示例帮助 链接: 你是指文件而不是字段吗?如果使用nlapiLoadFile(/path/file),则可以使用getURL()提供指向该文件的链接。Ya,这似乎有点奇怪。我找到的唯一方法是: 加载文件 使用以下命令创建文件句柄: 将文件名设置为所需的名称 将内容设置为预期内

NetSuite文件客户端中有需要更新的文件(url字段已更改)。我在这个网站上找到了这篇文章,但是没有代码示例来执行请求的操作。指示使用nlapiLoadFile和nlapiSubmitFile调用;是否有人能够提供代码示例帮助

链接:
你是指文件而不是字段吗?如果使用nlapiLoadFile(/path/file),则可以使用getURL()提供指向该文件的链接。

Ya,这似乎有点奇怪。我找到的唯一方法是:

  • 加载文件
  • 使用以下命令创建文件句柄:
    • 将文件名设置为所需的名称
    • 将内容设置为预期内容
  • 设置文件夹并提交
  • 我附上了一段代码片段

    var file=nlapiLoadFile(文件id); var content=file.getValue(); 内容=“…放入您的内容…”; file=nlapiCreateFile(file.getName(),“文件类型”,内容); file.setFolder(必需的文件夹id); nlapiSubmitFile(文件);
    希望这能有所帮助。

    NetSuite没有类似API的编辑文件。您必须加载原始文件,根据需要修改内容,然后通过在同一文件夹中创建具有相同文件名的新文件来提交数据。这只是覆盖现有文件

    下面是代码示例:

    var original = nlapiLoadFile(FILE_ID_OR_FILE_PATH_IN_FILE_CABINET);
    var originalContent = original.getValue(); //Return the value (base64 encoded for binary types) of the file
    
    var updated = nlapiCreateFile(original.getName(), FILE_TYPE, UPDATED_FILE_CONTENTS);
    updated.setFolder(original.getFolder());
    nlapiSubmitFile(updated);
    

    没有用于编辑现有文件的特殊API函数,您可以获取现有文件的详细信息并创建具有相同详细信息的新文件,但仅更改数据字段并删除旧文件

    var start = function(request, response)
    {
        var fileId = "107524";//get the existing file id
        var file = nlapiLoadFile(fileId);
        var data = file.getValue();
        var name = file.getName();
        var folderId = file.getFolder();
        var fileType = file.getType();
        nlapiDeleteFile(fileId);//delete the older file
    
        data += ",this is the appended data";//change the data
        var newFile = nlapiCreateFile(name, fileType, data);//create a new file with the same details
        newFile.setFolder(folderId);
        nlapiSubmitFile(newFile);//submit it
    }
    

    很遗憾,我在SuiteScript Records浏览器中没有看到URL字段:我找到了“文件夹”,但字段表中没有URL,因此该字段似乎无法用于编写脚本。这是一个非常有用的答案,也是问题imho的正确答案。我不知道content参数。
    var start = function(request, response)
    {
        var fileId = "107524";//get the existing file id
        var file = nlapiLoadFile(fileId);
        var data = file.getValue();
        var name = file.getName();
        var folderId = file.getFolder();
        var fileType = file.getType();
        nlapiDeleteFile(fileId);//delete the older file
    
        data += ",this is the appended data";//change the data
        var newFile = nlapiCreateFile(name, fileType, data);//create a new file with the same details
        newFile.setFolder(folderId);
        nlapiSubmitFile(newFile);//submit it
    }