0

我需要使用窗口中的按钮从网格下载文件。为了发送过滤器参数,我使用 store.load 但它不会下载文件,但会尝试读取它。有什么解决办法吗?

store.load({
 params: {
  startExel: parseInt(Ext.getCmp('startE').getValue())
 }
});

startExel 是一个额外的参数,用于指示我要下载 Excel 文件。

4

2 回答 2

1

我认为通过简单的配置更改不可能做到这一点。因为商店是通过 AJAX 调用加载的。

这是给你的一个想法:

  1. 返回一个JSON带有文件下载 url 的对象作为存储加载请求的响应。不是实际的文件内容。

    { success = false, url='...'}

  2. 在客户端处理存储加载失败,然后识别并提取返回的 url。您可能需要稍微调整阅读器配置。

  3. 调用window.open(url)以启动文件下载。

从 SO看到这个问题。

于 2012-06-28T14:16:12.460 回答
0

在服务器端返回文件时包含以下标头:

Content-disposition: attachment
于 2012-06-28T10:34:44.800 回答