【问题标题】:NetSuite - writing a file to Suitelet response to directly download fileNetSuite - 将文件写入 Suitelet 响应以直接下载文件
【发布时间】:2020-05-25 08:51:47
【问题描述】:

希望您能提供帮助。看起来那么小的东西让我很生气!

我想要在 SuiteScript 2.0 中做的只是在点击 Suitelet 上的提交按钮后立即将 CSV 文件下载到客户端。我的代码下载到客户端,但文件内容不正确。

以下代码创建文件(成功):

    //creating CSV file
    var fileObj = FILEMODULE.create({
        name: 'ThreePLreport.csv',
        fileType: FILEMODULE.Type.CSV,
        contents: contents
    });  

最后的sn-p代码将文件写入客户端:

   context.response.writeFile(fileObj,true);

现在 - 当我打开文件时,它看起来像这样:

当我将同一个文件保存在文件柜上时,它看起来是正确的:

我尝试在代码中添加 HEADERS,例如:

context.response.addHeader({
        name: 'Content-Type:',
        value: 'text/csv' //text/csv
        });
context.response.addHeader({
        name: 'Content-Disposition',
        value: 'attachment; filename="report1.csv"'
        });

这似乎无助于更正 CSV 文件中的内容。仍然显示您在上面看到的 HTML 代码。

有什么想法吗?

提前致谢!

【问题讨论】:

    标签: javascript csv netsuite httpresponse suitescript2.0


    【解决方案1】:

    我几乎已经做过很多次了。看起来你写文件后没有返回。例如:

    context.response.writeFile({
        file:fileObj,
        isInline:false
    });
    return; 
    

    【讨论】:

    • 这就是原因。 @bknights - 请分享更多关于我为什么要回来的信息。我从来不需要在 Suitescript 1.0 中这样做
    • 不知道为什么 NS 让您在过去摆脱这种情况。我怀疑在 SS1 中,他们在您编写文件后忽略了写入流中的任何内容。现在看起来流已重置。这两种情况都应该导致错误,而不是无声的意外结果。
    【解决方案2】:

    尝试删除内联选项(在浏览器中显示),以便更改:

    context.response.writeFile(fileObj,true);
    

    context.response.writeFile(fileObj);
    

    【讨论】:

    • 感谢您的回复!不——不幸的是,这不起作用。仍然吐出带有 HTML 代码的文件。还有其他想法吗?
    【解决方案3】:

    我有同样的问题,我以为是标题但不是。我意识到我提交了错误的内容。内容必须是用逗号分隔每列的数组。行尾是'\n'。

    例如。 ['title1','title2','title3','\n','contentline1','contentline1','contentline1','\n','contentline2','contentline2','contentline2','\n ']

    1.- 构建数组 2.- 创建 csv 文件

    var downFile = file.create({
                name: somename + '_' + qty + '.csv',
                fileType: file.Type.CSV,
                contents: csvBody,
     });
    

    3.- 下载文件

    context.response.writeFile({ 文件:下文件 });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多