3

我们在 NetSuite 文件库中有需要更新的文件(url 字段已更改)。我在此站点上找到了注释的文章,但没有执行请求的代码示例。它表示使用 nlapiLoadFile 和 nlapiSubmitFile 调用;有人可以提供代码示例吗?

链接: Netsuite Suitescript 可以修改文件柜中的文件吗?

4

4 回答 4

3

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

  1. 加载文件
  2. 使用以下命令创建文件句柄:
    • 将文件名设置为您想要的名称。
    • 将内容设置为预期的内容
  3. 设置文件夹并提交。

我附上了一个代码片段

    var 文件 = nlapiLoadFile(file_id);
    var 内容 = file.getValue();
    content = '...把你的内容...';
    文件 = nlapiCreateFile(file.getName(), '文件类型', 内容);
    file.setFolder(required_folder_id);
    nlapiSubmitFile(文件);

希望这可以帮助。

于 2013-02-13T15:45:16.753 回答
3

编辑现有文件没有特殊的 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
}
于 2015-05-21T09:06:30.553 回答
1

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

于 2012-11-29T22:59:59.100 回答
0

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);
于 2014-12-23T13:31:04.067 回答