使用 ExtJS 获取响应文件

2023-12-11

我使用 ExtJS 为我的程序构建客户端。有一种情况,我想向服务器发送 Ajax 请求,并获取响应文件(二进制文件,而不是纯文本文件,即 XLS 或 PDF)。我如何获取 ExtJS 返回的文件(我的意思是该文件可以下载并存储到客户端)?我无法使用var result = Ext.decode(response.responseText)接收结果,因为响应包含二进制数据并且无法解码。

Ajax 调用非常简单:

Ext.Ajax.request({
    url : 'myController/exportFile',
    method : 'GET',
    success : function(response, opts) {
        // What should I do to get the file?
    },
    failure : function(response, opts) {
        alert('Export file failed!')
    }
});

这是我返回文件的服务器操作:

public void sendFile(HttpServletResponse response, String filePath) {
        def file = new File(filePath);
        response.setContentType("application/octet-stream");
        response.setHeader("Content-disposition", "attachment;filename=${file.getName()}");     
        response.outputStream << file.newInputStream();
    }

太感谢了!


如果您需要使用典型浏览器提供的打开/保存对话框来提示用户,则不需要进行此调用 AJAX。

只是链接到myController/exportFile从你的页面应该足够了。
e.g. <a href="myController/exportFile">my file</a>

为了使这种方法发挥作用,来自的 HTTP 响应myController/exportFile必须包含适当的标头(即 Content-type 和 Content-disposition),告诉浏览器“这是文件。显示打开/保存对话框”,并且根据您的代码片段,我发现您已经处理了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ExtJS 获取响应文件 的相关文章

  • 在Android上保存文件时避免因中断而丢失数据?

    我想知道其他人在 Android 上保存文件时使用什么策略来避免数据丢失 我有几个游戏应用程序 本质上 它们可能会在用户暂停 onPause 时保存游戏状态 保存游戏 这在 99 99 的情况下有效 但每隔一段时间我就会收到一个保存游戏的例
  • 将一个文件写入.c中的另一个文件

    我有一个读取文件然后将其内容复制到另一个文件的代码 我需要使其仅复制每 20 个符号 然后跳过 10 个符号 然后再次跳过 20 个符号 依此类推 我必须使用 lseek 函数 但我不知道如何将所有这些放入循环中来执行此操作 main ar
  • Mac 操作系统的 windows.h 替代品

    早上好 我正在使用 Codeblock c 程序进行编程 但是 我需要使用窗口 h and conio h MacBook 上没有这个头文件 拜托 你能帮我吗 不起作用的来源 void gotoxy int x int y COORD co
  • python 和回文

    我最近写了一个循环的方法 usr share dict words并使用我的返回回文列表ispalindrome x 方法 这是一些代码 有什么问题吗 它只会停止 10 分钟 然后返回文件中所有单词的列表 def reverse a ret
  • 从 Get-ChildItem -Path 返回对象数组

    从 powershell 开始 ls R txt将按目录递归列出文件 或者更好 PS gt Get ChildItem Path C Test Name logs anotherfile txt Command txt CreateTest
  • 在 Ext JS 构造函数中将项目推入数组会产生多个项目

    我有一个我定义的 Ext JS 类 在这个班级的constructor 我将一个文本字段推送到我的项目数组上 然后添加到我的测试字符串中 数组和字符串在类定义中都声明为空 但是 如果您尝试创建多个类实例 您将看到项目数组在每个实例之间共享
  • 我们可以使用 python 变量来保存整个文件吗?

    假设我们知道所有文件都将被加载到内存中并且我们负担得起 在 python 变量中加载整个文件 可能是二进制文件 有哪些缺点 如果有 或限制 如果有 如果这在技术上是可行的 是否应该避免这种情况 为什么 关于文件大小问题 该解决方案的最大大小
  • 缓冲与非缓冲,该使用哪一种?

    如果这是重复的 我很抱歉 但我无法找到每种类型的最佳实践的明确答案 我想知道定义何时使用 BufferedReader 与 FileReader 或 BufferedInput OutputStream 与 FileInput Output
  • ruby 中的 unshift + file.join

    unshift File join File dirname FILE vendor addressable 2 1 0 lib addressable uri 上面的代码是否访问具有以下路径的文件 vendor addressable 2
  • PHP preg_match_all 100 MB 文件

    我读到 preg match all 不是为解析大文件而设计的 但我需要这样做 我增加了 pcre backtrack limit 1000000000 pcre recursion limit 1000000000 我的 PHP memo
  • Codeception API 测试响应返回“N/A”

    我正在使用 Laravel 和 Codeception 作为测试框架编写 API 我无法让 Codeception 返回响应代码 我可以从 Codeception 获取响应代码 以及 JSON 响应 我编写了一个简单的测试来从 GET 请求
  • Extjs - 为选项卡生成唯一的 url

    据我了解 ExtJS 使用 AJAX 进行所有服务器端通信 并且理想情况下每个应用程序只有一页 但我正在探索为 ExtJS 选项卡生成唯一 URL 的可能性 然后用户可以从地址栏复制该 URL 以供以后使用 传统 Web 应用程序方法 使页
  • 找不到文件异常..但它就在那里

    嘿 这将是那些愚蠢的问题之一 我试图在本地系统上获取一个文件 但我不断收到FileNotFoundException thrown 请有人纠正我 if File Exists C logs hw healthways prod 2009 0
  • C++ 输出到文本文件时换行符[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这只是一个简单的问题 但我正在尝试将
  • 如何重命名 GitHub 网站上的目录/文件夹?

    我在 GitHub 网站上找到了一种方法rename https github com blog 1436 moving and renaming files on github一个文件并成功完成 我也找到了一种方法rename https
  • 并行模拟写入同一文件

    我的目标是在集群上并行运行 10 000 个左右的 Julia 编码模拟 每个模拟独立于所有其他模拟 每个模拟都有一个要输出的数字 以及有关哪个模拟产生该数字的 3 列信息 因此 强制每个模拟打印在单独的文件上对我来说听起来有点愚蠢 我可以
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 如何使用 PHP 查找目录中的前 5 个文件?

    如何使用 PHP 列出按字母顺序排序的目录中的前 5 个文件或目录 Using scandir array slice array filter scandir path to dir is file 0 5 The array filte
  • C++:获取器和设置器?

    我正在尝试编写一些代码来为以下数据的 ID 号 名字 姓氏 期中成绩和期末成绩创建 getter 和 setter 这些数据位于我正在编写的班级的文本文件中 10601 ANDRES HYUN 88 91 94 94 89 84 94 84
  • 从文本文件 PHP 读取数据

    我只是想知道如何在 php 中读取文本文件 我想让它显示文本文件中的最后 200 个条目 每个条目都在一个新行上 Like John White Jane Does John Does Someones Name 等等 Thanks Use

随机推荐

  • VBA 跟踪文件使用情况

    我目前有一个生成客户报表的 Excel 文件 我需要跟踪谁运行了他们的报表 目前 每当生成语句时 我都会有一个宏向我发送一封包含其用户名的电子邮件 然而 在瘦客户端系统上运行的人们会收到提示 一个程序正在尝试代表您发送电子邮件 有什么方法可
  • 将响应转发到不同的 URL 时,在 API 管理策略表达式中将响应正文从 XML 转换为 Json

    将响应转发到不同的 URL 时 如何将响应正文从 XML 更改为 Json 我专门将响应转发到 Azure 服务总线 我尝试了许多不同的方法将 XML 序列化为 json 但没有成功 因为策略表达式中不允许使用某些 JsonConvert
  • 在本地化系统上强制以英语输出 PowerShell 错误

    我需要在各种操作系统上运行一些 PowerShell 脚本 其中大多数都是英文版本 但是 有些是本地化的 例如德语 法语 西班牙语等 问题是本地系统管理员现在大多不使用 PowerShell 并且在脚本失败并向他们抛出错误的情况下 而不是阅
  • Conda Build - 创建 Conda 包因平台 win-64 的依赖项而失败

    从本地目录构建我的第一个 conda 包 遵循 CONDA 网站的说明 https conda io docs user guide tasks build packages recipe html 我收到以下错误 conda build
  • SonarQube 分析未显示代码覆盖率

    我有一个 Jenkins 项目来对我的 NodeJS 项目进行 SonarQube 分析 我添加了istanbul作为对我的项目的依赖package json 在 Jenkins 构建配置中 首先我运行一个 shell 脚本 cd proj
  • 最佳适应调度算法

    有多个活动 每个活动都有多个会议时间 我需要找到一种会议时间安排 以便每个日程表仅包含任何给定事件一次 使用每个事件的多个会议时间之一 我可以使用暴力 但这很少是最好的解决方案 我更喜欢任何可以阅读此内容的链接 甚至只是一个我可以谷歌搜索的
  • 当我使用添加函数时断言失败

    在一个表中 我有 3 个索引 每个索引调用一个函数 在每个函数中 都有一个添加按钮 用于将数据添加到 CoreData 中 前 2 个有效 但是当我按第三个索引并按 Add 时 会出现此错误 2011 07 19 16 57 11 079
  • Powershell 转义包含密码的变量

    因此 我使用一个包含密码的变量 最近发现某些密码包含特殊字符 我无法控制密码是什么 所以我必须处理我收到的任何内容 我知道后面的勾号 字符是用来转义字符的 这篇文章的全部原因是我发现密码是文本文件 并将找到的密码替换为 xxxxxxxxx
  • 在 Android 中向 gridview 添加页眉和页脚

    我正在尝试在我的 Android 应用程序中创建具有以下功能的用户个人资料页面 标题 gridview 显示该用户的一堆照片 页脚 当应用程序在网格视图中下载更多照片时的下载图标 header需要与gridview一起移动 换句话说 个人资
  • QTableWidget-自动公式驱动单元格

    是否可以使一个单元格成为公式驱动单元格并使其自动更新 与Excel类似 例如 我希望用户填写两个单元格 然后当用户填充两个单元格时 第三个单元格将自动划分 我希望它不连接到按钮 QTable 截图 QTableWidget 的代码 self
  • 每次我使用格式化程序写入txt时,以前写入的内容都会被删除?如何避免这种情况?

    import java io FileNotFoundException import java lang SecurityException import java util Formatter import java util Form
  • Javascript 奇怪的作用域行为

    我一直在研究 Javascript 函数作用域并遇到了这个 var scope global function f console log scope var scope local console log scope f 现在我明白第一个
  • java中的Ludo游戏板[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何在不使用数组的情况下向该板编写代码 我尝试过 但没有得到正确的结果 它应该包含函数 循环和条件结构 行 11 列 11 public static void board in
  • 注意动态添加的类

    如果将类动态添加到元素 是否有一个侦听器可以在其中监视和运行代码 我使用 WordPress CMS 和一个插件 我正在使用我们动态添加一个类 我想在发生这种情况时捕捉到并运行一些自定义代码 更改 onChange 似乎不起作用 test
  • 为什么 Firefox 的最小宽度为 615px?

    我对媒体查询非常陌生 所以我在 Firefox 12 0 上使用 min width 属性 发现它不起作用 经过一番尝试和尝试这个可爱的网站之后 http barrow io lab media query viewport 我发现我的 F
  • 如何使用 PHP 向网页发出请求?

    我想要实现的是 第一 我想查询像谷歌这样的页面 但不填写手动提交的搜索 第二 我想获取结果并将其保存到数据库中 我在这里看到了使用 C 执行此操作的示例 http www farooqazam net c sharp auto click
  • 如何追踪IOS5的崩溃情况?

    我是IOS开发新手 我发生了崩溃 但它没有在我的程序中显示崩溃位置 有没有办法在 IOS 5 1 中显示崩溃位置 谢谢 None
  • 如何在C#中将数字拆分为单独的数字? [复制]

    这个问题在这里已经有答案了 说我有12345 我想要每个号码的单独项目 一个字符串甚至一个单独的数字都可以 Split 方法是否对此有重载 我会使用模数和循环 int GetIntArray int num List
  • Scipy ndimage 形态学运算符使我的计算机内存 RAM (8GB) 饱和

    我需要使用半径为 17 或更大的 3D 结构元素来计算形状为 400 401 401 大小为 64320400 字节的 3D 数组的形态开口 结构体元素ndarray的大小为 42875 字节 使用scipy ndimage morphol
  • 使用 ExtJS 获取响应文件

    我使用 ExtJS 为我的程序构建客户端 有一种情况 我想向服务器发送 Ajax 请求 并获取响应文件 二进制文件 而不是纯文本文件 即 XLS 或 PDF 我如何获取 ExtJS 返回的文件 我的意思是该文件可以下载并存储到客户端 我无法