使用Javascript下载一个视频
Download a fie using Javascript
我有JSON数组在客户端呈现在UI。用户希望以文件形式下载内容。如何将内容从客户端发送到服务器并作为文件下载?
我发现POST Ajax请求不允许我们下载文件。我该怎么做呢?
如果内容仅在客户机中可用,则必须将其发送到服务器。试试这样做:
<a id="download_link">Download</a>
$('#download_link').on('click', function(e){
e.preventDefault();
window.location = 'my-handler.php?json=' + myJsonString;
});
// or without jQuery
document.getElementById('download_link').onclick = function(){
window.location = 'my-handler.php?json=' + myJsonString;
};
然后在my-handler.php
中强制下载,使用发送到服务器的数据作为文件内容:
// Use equivalent in your server side script if not using PHP
$filename = 'download-'.time().'.json';
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: Binary');
header('Content-disposition: attachment; filename="'.$filename.'"');
exit($_GET['json']);
使用此方法,当前窗口不应该被替换,但下载提示应该开始,但您可以在一个新的窗口中打开,如果你喜欢。
这是一个快速而肮脏的解决方案。请注意,这将允许用户输入任何内容并下载文件。至少先验证内容可能是明智的。也可能是内容太大的问题。
相关文章:
- jQuery:在for循环中运行youtube视频,播放最后一个视频
- HTML5 视频在开始播放另一个视频时暂停使用 Javascript
- 在 html 页面上一次播放一个视频
- 我希望我的视频在点击时更改为另一个视频,我该怎么做
- 数组中的第一个视频始终是第一个或第二个在下一个视频功能上播放
- 在“结束”上播放数组中的下一个视频
- 当我使用 JavaScript 动态加载下一个视频时出现黑屏
- Javascript下一个视频函数
- 当我的当前视频使用java脚本完成时,我如何播放下一个视频
- 使用JQuery或Javascript在IFrame中用另一个视频替换视频
- 随机HMTL5视频阵列只播放一个视频
- Youtube API查询;从提要中排除一个视频
- 让 YouTube API 在第一个视频结束时自动开始播放另一个视频
- jQuery播放下一个视频上的滚动
- 使用Javascript下载一个视频
- 当使用Youtube IFrame API时,getPlaylist返回一个只有一个视频的数组
- 当一个视频被选中时隐藏所有视频
- HTML自动播放一个视频然后循环另一个
- HTML5视频如何在一个视频元素中播放两个视频
- 我如何跟进一个视频闪屏页面在HTML与一个按钮