首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax -知道文件下载是否正确地从服务器发送

Ajax -知道文件下载是否正确地从服务器发送
EN

Stack Overflow用户
提问于 2014-07-04 15:45:23
回答 1查看 169关注 0票数 0

我有一个extjs函数,它向服务器发送一个表单,它返回一个带有正确的Content-Disposition ="attachment; filename='test.zip'"头的文件以下载。可以使用浏览器的“正常文件下载”窗口下载该文件。但是,ajax请求的成功回调函数不会被触发,而ajax不确定地等待响应。

有没有一种方法可以告诉ajax函数该文件是否从服务器正确发送?

代码语言:javascript
复制
  exportLayer = function(node_id){
    Ext.Ajax.request({
      method: "GET",
      form: "exportForm",
      url: "/basqui/layer/shapefile/export/" + node_id + "/",
      success: function(r){
                  html = Ext.decode(r.responseText).html
                  Ext.get('pageContent').update(html);
                  },
    });
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-04 16:46:05

设置responseBytesbinary配置属性,并在响应中获取Ext.Ajax.request属性中的二进制数据。

例如,加载jpeg映像:

代码语言:javascript
复制
Ext.Ajax.request({
      url: "/path/to/image/test.jpg",
      success: function(xhr) {
          var b64encoded = btoa(String.fromCharCode.apply(null, xhr.responseBytes));

          var img = Ext.create('Ext.Img', {
              src: 'data:application/jpeg;base64,' + b64encoded
          });
          // add image somewhere
          ...                
      }
 });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24577666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档