现在步骤3应该是>客户端的浏览器应显示下载对话框(保存,打开和取消)。由于内容类型是来自服务器的纯文本,并且未设置内容处理,我们可以使用javascript创建文件并提示用户下载吗?
我知道这个问题有点愚蠢。但没有其他选择。我必须这样做。
更改服务器端脚本将使其成为一分钟任务。但我必须在客户端这样做。 XMLHttpRequest对象的responseText属性将是纯文本,我必须显示文本文件的下载提示。
这可能吗?
答案 0 :(得分:1)
不是我知道的。但您可以使用location.href
(或表单,如果需要POST数据)来请求服务器端文件。使用正确的标题(Content-Disposition: attachment
,我认为还有另一个标题),您可以下载而不是显示响应。
编辑:更好的是,使用隐藏的iframe
。这样,您仍然可以在主页面中执行“加载,请稍候”的事情。
答案 1 :(得分:1)
理论上可以通过使用数据URI的
来实现<a download = "yourfile.csv" href="data:application/octet-stream;charset=YOURCHARSET;base64,BASE64allthedata">Generate</a>