我們在NetSuite文件cabient中有需要更新的文件(URL字段已更改)。我在這個網站上發現了一篇着名的文章,但沒有代碼示例來執行請求。它表示使用nlapiLoadFile和nlapiSubmitFile調用;任何人都可以幫助一個代碼示例?NetSuite SuiteScript修改文件櫃中的文件
鏈接: Can Netsuite Suitescript modify a file in the file cabinet?
我們在NetSuite文件cabient中有需要更新的文件(URL字段已更改)。我在這個網站上發現了一篇着名的文章,但沒有代碼示例來執行請求。它表示使用nlapiLoadFile和nlapiSubmitFile調用;任何人都可以幫助一個代碼示例?NetSuite SuiteScript修改文件櫃中的文件
鏈接: Can Netsuite Suitescript modify a file in the file cabinet?
你的意思是文件,而不是場?如果您使用nlapiLoadFile(/ path/file),則可以使用getURL()提供指向該文件的鏈接。
雅,看起來有點奇怪。我發現的唯一方法是:
我附上一段代碼
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);
希望這有助於。
這是一個非常有用的答案和正確的問題,恕我直言。我不知道內容參數。 –
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
}
不幸的是,我沒有看到URL字段中SuiteScript記錄瀏覽器: https://system.netsuite.com/help/helpcenter/en_US/RecordsBrowser/2011_2/index.html 我發現「文件夾「但字段表不包含URL,因此看起來該字段不可用於腳本。 – user1698662