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 для получения более подробной информации об этих модулях и их соответствующих функциях. Приятного кодирования!