在 NetSuite 中上传 Excel 文件时出现问题

Problems with uploading Excel files in NetSuite

提问人:RogerYueh 提问时间:11/3/2023 更新时间:11/3/2023 访问量:66

问:

我正在努力在NetSuite中设计一个自定义页面,以方便用户上传Excel文件。尽管根据用户界面,上传似乎成功,但我随后在NetSuite文件柜中的检查显示文件大小始终为零。我在上传之前使用 log.debug 来验证文件大小,日志表明文件大小准确,这让我怀疑这是代码问题还是与文件权限有关。

/**
 * @NApiVersion 2.x
 * @NScriptType Suitelet
 */
define(["N/ui/serverWidget", "N/file"], function (ui, file) {
  function onRequest(context) {
    if (context.request.method === "GET") {
      var form = ui.createForm({ title: "Upload Excel File" });
      var fileField = form.addField({
        id: "custpage_file",
        type: ui.FieldType.FILE,
        label: "Choose an Excel file",
      });
      form.addSubmitButton("Upload");
      context.response.writePage(form);
    } else {
      var uploadedFile = context.request.files.custpage_file;
      log.debug("File Name:", uploadedFile.name);
      log.debug("File Size:", uploadedFile.size);
      

      var fileObj = file.create({
        name: uploadedFile.name,
        fileType: file.Type.EXCEL, // Explicitly set the fileType
        content: uploadedFile.getContents(),
        folder: 5034,
      });
      var fileId = fileObj.save();
      context.response.write("File uploaded successfully with ID: " + fileId);
      log.debug("Uploaded file type:", uploadedFile.fileType);
    }
  }

  return {
    onRequest: onRequest,
  };
});

在文件柜中,我可以找到文件,文件名正确,但其大小为零。此外,当我尝试打开它时,系统指示该文件已损坏。

JavaScript Excel NetSuite 套件脚本2.0

评论

0赞 d.k 11/3/2023
我很确定问题出在文件内容上,也就是说,它没有产生 file.create() 方法所期望的内容。里面有什么,你能记录下来吗?uploadedFile.getContents()log.debug("Uploaded file content:", uploadedFile.getContents());
0赞 d.k 11/3/2023
另外请记录整个文件对象: 当然,如果大小太大,可能不起作用。如果它不起作用,请记录 , ,log.debug("Uploaded file:", JSON.stringify(uploadedFile, null, ' '));updoadedFile.fileTypeupdoadedFile.isTextuploadedFile.encoding
0赞 RogerYueh 11/6/2023
理解。我将验证上传数据的编码。感谢您的回复。

答: 暂无答案