Javascript 如何使用SuiteScript 2.0将文件从本地上载到NetSuite文件柜

Javascript 如何使用SuiteScript 2.0将文件从本地上载到NetSuite文件柜,javascript,netsuite,suitescript2.0,Javascript,Netsuite,Suitescript2.0,如何使用SuiteScript 2.0将文件上载到NetSuite文件柜?一个可能的选项是创建一个带有文档字段的Suitelet,并保存上载到该字段的文件。以下是此类Suitelet的代码: /** *@NApiVersion 2.x *@NScriptType Suitelet */ define(['N/ui/serverWidget'], function(serverWidget) { function onRequest(context) {

如何使用SuiteScript 2.0将文件上载到NetSuite文件柜?

一个可能的选项是创建一个带有文档字段的Suitelet,并保存上载到该字段的文件。以下是此类Suitelet的代码:

/**
*@NApiVersion 2.x
*@NScriptType Suitelet
*/
define(['N/ui/serverWidget'],
    function(serverWidget) {
        function onRequest(context) {
            if (context.request.method === 'GET') {
                var form = serverWidget.createForm({
                    title: 'Simple Form'
                });

                var field = form.addField({
                    id: 'custpage_file',
                    type: 'file',
                    label: 'Document'
                });

                form.addSubmitButton({
                    label: 'Submit Button'
                });

                context.response.writePage(form);
            } else {
              var fileObj = context.request.files.custpage_file;
              fileObj.folder = 4601; //replace with own folder ID
              var id = fileObj.save();
            }
    }

    return {
        onRequest: onRequest
    };
});

我知道你说的是从本地存储上传文件。可以根据脚本中使用的记录创建指定类型的文件。通过指定文件夹,可以保存此文件,同时也可以在脚本中进行进一步处理

我相信,通过将“内容”指定为“context.request.files.custpage_file”,下面的内容可以修改为使用您上传的文件,就像Maria在回答中所做的那样

var exportFolder = '1254';
var recordAsJSON = JSON.stringify(scriptContext.newRecord);

var fileObj = file.create({ 
    name: scriptContext.newRecord.id + '.json',
    fileType: file.Type.JSON,
    contents: recordAsJSON, description: 'My file', encoding: file.Encoding.UTF8,
    folder: exportFolder,
    isOnline: false 
});
var fileId = fileObj.save();
fileObj.save()将返回文件柜中新创建文件的内部ID