我们在NetSuite文件cabient中有文件需要更新(url字段已更改)。我在这个网站上找到了这篇着名的文章,但没有代码示例来执行请求。它表示使用nlapiLoadFile和nlapiSubmitFile调用;有人能够协助代码示例吗?
链接: Can Netsuite Suitescript modify a file in the file cabinet?
答案 0 :(得分:3)
我附上了一个代码段
var file = nlapiLoadFile(file_id); var content = file.getValue(); content = '...put your content...'; file = nlapiCreateFile(file.getName(), 'FILE TYPE', content); file.setFolder(required_folder_id); nlapiSubmitFile(file);
希望这有帮助。
答案 1 :(得分: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
}
答案 2 :(得分:1)
你的意思是文件而不是字段?如果使用nlapiLoadFile(/ path / file),则可以使用getURL()提供指向该文件的链接。
答案 3 :(得分: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);