下载使用POST数据动态生成的文件
Download file generated on the fly using POST data
我需要使用从POST请求中获得的一些数据生成一个PDF文件。作为对这个请求的响应,我想发送生成的PDF文件,用户应该为其获得一个"保存文件为"对话框。
这一切都应该马上发生。我不想把PDF保存到磁盘上,并附带一个额外的请求。这一切都应该通过一个请求来实现。
但是我不知道我是怎么做到的。如果使用XMLHttRequest,则无法显示"将文件另存为"对话框。另一方面,如果我使用表单,如果没有一些URL加密开销,我就无法发送POST数据。
有人有主意吗?
最后,我用2个请求解决了它。首先将所需的数据发送到服务器,并从中创建PDF,然后返回临时文件的ID。第二个下载pdf并删除临时文件。
我通过将javascript生成的表单字段中的数据发布到php来实现这一点。
var form = $('<form method="post" action="svgoutput/convert.php"> <input type="text" name="incomingSvgData" value="'+base64_encode(svgDataString)+'"><input type="submit" value="Submit Post"> </form> ');
form[0].submit();
对于IE,提交时表单已在dom中。
在php方面,我进行生成和其他操作(在本例中为SVG到PNG),并设置以下标题:
header("Content-Type: YOURMIMETYPE");
header("Content-Disposition: attachment; filename=YOURFILENAME.EXT");
echo YOURDATA;
下载流畅,甚至在一篇文章中显示另存为对话框。如果你需要"另存为",只需使用标题,比如这里如何显示';另存为';对话框使用PHP的文本文件
相关文章:
- Highcharts从csv文件动态更新图表
- 从托管的javascript文件动态加载jQuery(如果页面上不可用)
- 有没有办法将样式表或javascript文件动态添加到包含插件的TYPO3页面
- 使用 jquery 从 json 数据文件动态填充选择元素
- 使用 PHP/JS 使用上传的文件动态填充网页
- 如何使用 jQuery 基于 JSON 文件动态更改数据
- 有没有办法将 css 文件或 javascript 文件动态注入 HTML 文档的 head 标签中
- 您能否按字母顺序对从 JSON 文件动态创建的 jQuery 列表进行排序
- 如何将KML文件动态加载到谷歌地图,并进一步加载到折线
- mongodb mongoi从外部文件动态导入
- 使用SVG文件动态修改谷歌地图图标
- 从外部链接到JavaScript的文件动态加载JQuery
- 从json配置文件动态加载脚本
- 如果相同的css &Js文件动态下载多次
- 使用node.js从多个JSON文件动态生成url和页面内容
- 从外部JS文件动态读取所有变量
- 用JS从外部PHP文件动态创建内容
- 从本地xml文件动态创建列表项
- 如何从html5中的js文件动态添加Svg图像
- 从外部.js文件动态访问正在更改的变量