如何在Postman中从API下载Excel (.xls)文件?

335
我有一个API端点和该API的授权令牌。
所述API用于下载.xls报告。如果可能的话,我如何使用Postman查看已下载的.xls文件?
如果无法使用Postman,我应该寻找哪些其他编程方式?

4
@nbokmans 我想下载后端提供的 .xls 文件。当我使用 Postman 时,我无法正确查看 .xls 文件,里面都是 Unicode 和特殊字符。我需要的是,除了 Postman 外,是否有其他编程方式来触发 API 并将 .xls 文件下载到我的计算机上。 - axnet
@nbokmans 谢谢回复,它只是开始下载,没有给出任何位置。 - axnet
6个回答

784
尝试选择发送并下载而不是发送,当您发出请求时(蓝色按钮)。

显示Postman中“发送并下载”按钮的屏幕截图

https://www.getpostman.com/docs/responses 对于二进制响应类型,你应该选择发送并下载,这将让你将响应保存到硬盘中。然后,您可以使用适当的查看器查看它。

8
这绝对不是直觉性的 - 感谢指点!我尝试了“保存响应”,但它只保存到“示例”,这并没有帮助。 - SliverNinja - MSFT
1
这只下载响应的JSON文件,而不是文件本身。 - Steve
我尝试过这个,它会将原始的base64编码文件下载为文本文件,而不是文件本身... - undefined

29

1
看起来还好。但是GET或POST请求没有保存响应选项。我应该在Postman中使用发送和下载选项吗? - user16409822
对于每个请求,您将获得一个选项来保存响应,但正如您所提到的,您也可以使用发送并保存选项。 - Akitha_MJ

10
如果终端点确实是指向 .xls 文件的直接链接,您可以尝试以下代码来处理下载:

如果终端点确实是指向.xls文件的直接链接,您可以尝试以下代码来处理下载:

public static boolean download(final File output, final String source) {
    try {
        if (!output.createNewFile()) {
            throw new RuntimeException("Could not create new file!");
        }
        URL url = new URL(source);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        // Comment in the code in the following line in case the endpoint redirects instead of it being a direct link
        // connection.setInstanceFollowRedirects(true);
        connection.setRequestProperty("AUTH-KEY-PROPERTY-NAME", "yourAuthKey");
        final ReadableByteChannel rbc = Channels.newChannel(connection.getInputStream());
        final FileOutputStream fos = new FileOutputStream(output);
        fos.getChannel().transferFrom(rbc, 0, 1 << 24);
        fos.close();
        return true;
    } catch (final Exception e) {
        e.printStackTrace();
    }
    return false;
}

你只需要做的是为认证令牌设置正确的名称并填写它。

使用示例:

download(new File("C:\\output.xls"), "http://www.website.com/endpoint");

1
这段代码对我来说是有效的,但是如果我的端点不是直接链接,那么在上面的代码片段中我需要做出什么改变呢? - axnet

7

在Postman中,对于用户界面,请选择发送和下载按钮而不是发送按钮:enter image description here


6

在Postman中,您是否尝试将头元素“Accept”添加为“application/vnd.ms-excel”?


1
在回复部分,请按照以下步骤进行:

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接