Netsuite SuiteScript: подробное руководство по загрузке и переименованию файлов

Netsuite SuiteScript — это мощный язык сценариев, который позволяет разработчикам расширять функциональность Netsuite, облачного программного обеспечения для управления бизнесом. В этой статье мы рассмотрим различные способы загрузки и переименования файлов с помощью SuiteScript, а также приведем примеры кода для демонстрации каждого подхода.

Метод 1: использование модуля N/file
Модуль N/file предоставляет набор API для управления файлами в Netsuite. Чтобы загрузить и переименовать файл с помощью этого модуля, следуйте примеру кода ниже:

// Upload a file
var fileObj = file.create({
  name: 'sample_file.txt',
  fileType: file.Type.PLAINTEXT,
  contents: 'Sample file content',
  folder: 123 // The internal ID of the destination folder
});
var fileId = fileObj.save();
// Rename the file
file.rename({
  id: fileId,
  name: 'new_file_name.txt'
});

Метод 2: использование модуля N/https
Модуль N/https позволяет взаимодействовать с внешними системами через запросы HTTP(s). Вы можете использовать этот модуль для загрузки файла на удаленный сервер, а затем переименовать его. Вот пример:

var response = https.post({
  url: 'https://example.com/upload',
  body: {
    file: file.load({
      id: 123 // The internal ID of the file to upload
    })
  }
});
// Rename the file on the remote server
https.post({
  url: 'https://example.com/rename',
  body: {
    fileId: response.body.fileId,
    newName: 'new_file_name.txt'
  }
});

Метод 3: использование модуля N/ui/serverWidget
Модуль N/ui/serverWidget предоставляет набор API для создания пользовательских пользовательских интерфейсов. Вы можете создать поле загрузки файлов в Suitelet или пользовательской форме и использовать его для обработки загрузки файлов. Вот пример:

function onRequest(context) {
  if (context.request.method === 'POST') {
    var fileObj = context.request.files['file'];
    // Handle file upload
    // Rename the file
    var renamedFileObj = file.create({
      name: 'new_file_name.txt',
      fileType: fileObj.fileType,
      contents: fileObj.getContents(),
      folder: 123 // The internal ID of the destination folder
    });
    var fileId = renamedFileObj.save();
  }
// Build the Suitelet form with a file upload field
  var form = serverWidget.createForm({
    title: 'File Upload'
  });
  var fileField = form.addField({
    id: 'file',
    type: serverWidget.FieldType.FILE,
    label: 'Choose a file'
  });
  form.addSubmitButton({
    label: 'Upload'
  });
  context.response.writePage(form);
}

В этой статье мы рассмотрели три различных метода загрузки и переименования файлов в Netsuite с помощью SuiteScript. В первом методе используется модуль N/file, во втором методе используется модуль N/https для внешней обработки файлов, а третий метод демонстрирует загрузку файлов в пользовательской форме с помощью модуля N/ui/serverWidget. В зависимости от вашего конкретного варианта использования вы можете выбрать наиболее подходящий метод для выполнения требований по загрузке и переименованию файлов в Netsuite.

Не забудьте обратиться к документации Netsuite SuiteScript API для получения более подробной информации об этих модулях и их соответствующих функциях. Приятного кодирования!