You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求支持拖拽上传至NetSuite文件柜的Suitelet脚本

实现NetSuite文件柜拖拽上传的Suitelet脚本

存在支持拖拽上传文件至NetSuite文件柜的Suitelet脚本,以下是具备拖拽上传功能的脚本说明及完整代码:

功能说明

  • 提供可视化拖拽区域,支持文件拖拽上传
  • 处理文件上传逻辑,将文件保存至指定的NetSuite文件柜文件夹
  • 上传完成后自动跳转至已上传文件的详情页

完整代码

/**
 * @NApiVersion 2.x
 * @NScriptType Suitelet
 * @NModuleScope SameAccount
 */
define(['N/ui/serverWidget', 'N/file'], function(serverWidget, file) {

  function onRequest(context) {
    if (context.request.method === 'GET') {
      // 创建表单
      var form = serverWidget.createForm({
        title: '拖拽上传文件'
      });

      // 添加拖拽区域字段
      var dropZoneField = form.addField({
        id: 'custpage_dropzone',
        type: serverWidget.FieldType.INLINEHTML,
        label: '拖拽文件至此处'
      });

      // 设置拖拽区域HTML内容
      var dropZoneHTML = '<div id="dropZone" style="border: 2px dashed #ccc; padding: 20px; text-align: center;">' +
        '<span style="font-size: 18px;">拖拽文件至此处</span>' +
        '</div>';
      dropZoneField.defaultValue = dropZoneHTML;

      // 添加用于存储文件ID的隐藏字段
      var fileIdField = form.addField({
        id: 'custpage_fileid',
        type: serverWidget.FieldType.TEXT,
        label: '文件ID'
      });
      fileIdField.updateDisplayType({
        displayType: serverWidget.FieldDisplayType.HIDDEN
      });

      // 添加提交按钮
      form.addSubmitButton({
        label: '上传'
      });

      // 渲染表单
      context.response.writePage(form);
    } else if (context.request.method === 'POST') {
      // 处理文件上传逻辑
      var fileObj = file.create({
        name: context.request.files.custpage_file.name,
        fileType: context.request.files.custpage_file.fileType,
        contents: context.request.files.custpage_file.getContents(),
        folder: 12807 // 替换为你要保存文件的文件柜文件夹ID
      });
      var fileId = fileObj.save();

      // 跳转至文件柜中已上传的文件页面
      context.response.sendRedirect({
        type: serverWidget.RedirectType.MEDIA_ITEM,
        identifier: fileId
      });
    }
  }

  return {
    onRequest: onRequest
  };
});

使用注意事项

  • 必须替换代码中的folder: 12807为你实际需要存储文件的NetSuite文件柜文件夹ID
  • 脚本需部署为Suitelet类型,并确保部署权限允许访问目标文件柜文件夹
  • 该脚本基于NetSuite SuiteScript 2.x版本开发,需在对应版本环境中使用

内容的提问来源于stack exchange,提问作者wooyung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:45:20