用ajax请求一个zip压缩包问题?

用ajax 请求一个zip压缩包,因为这个压缩包只能到本域名访问才能下载,所以想的办法是开发一个谷歌插件运行,请求出来zip压缩包在上传到自己的端口,求懂文件流的大神解答解答,感激不尽!image.png

阅读 3.1k
3 个回答

感觉你是把简单的问题复杂化。
他怎么判断你的请求是网站本域名,无非是通过检查referer信息之类的,你伪造完全大概率是没问题的。
至于chrome插件这个问题,你用js下载下来的是bolb,你拿到这个数据再请求一个post发回你的服务端就可以了?

可能是因为在使用ajax时没有指定responseType,可以尝试以下方法:

$.ajax({
  url: 'xxx',
  type: 'get',
  xhrFields: { responseType: 'blob' },
  success: function(res){
    // res 为 Blob 类型
  }
})

整这么复杂?直接a标签不行?

其实不怎么推荐用ajax去下载,兼容性是一方面,另一方面就是大文件下载太坑了。完全依赖页面。

如果实在想用 ajax,那么就是response: blob。然后构建 bloburl, 然后download

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题