javascript - 以角度下载带有blob的文件
问题描述
我是 Angular 新手,我必须在应用程序中添加一个按钮,所以当我点击时,它应该开始下载已经记录的文件。
我有这个代码
var _RecordStopCallback = function(blob){
if (!blob && blob.length==0){
$scope.isRecorded = false;
return;
}
$scope.recordObj.recordedData = blob;
const url = URL.createObjectURL(blob);
var el = $("#downloads").html("");
var hf = $("<a></a>");
hf.attr({
src:url,
href:url,
download:$scope.recordFilename
}).html($scope.recordFilename);
hf.appendTo(el);
$scope.isStoping = false;
$scope.recordStatus = false;
$scope.isRecorded = true;
$scope.recordStatusText = "Start";
$scope.streamError = "";
_changeStatusText();
$scope.$apply();
$scope.saveProcess();
在 HTML 文件中:
<div ng-show="isRecorded" class="color-info"> Recorded File : <span id='downloads'></span>
<button ng-click="{{recordFilename}}" class="btn-circle btn-circle-default">
<i class="zmdi zmdi-download"></i></button>
这一行:
<span id='downloads'></span>
显示重新编码的文件名并将其作为链接,因此当您单击它时,您可以直接下载它,但我不知道如何使按钮做同样的事情?
任何帮助,将不胜感激!
解决方案
您可以为被点击的按钮注册一个回调,在那里您可以创建您在问题中显示的相同链接,将其设置为隐藏,将其插入 DOM 并调用.click()
它。需要插入 DOM,否则某些浏览器将无法开始下载。
推荐阅读
- html - 如果我选中复选框,如何在主 div 上添加类
- c# - Azure C# 机器人卡第 401 期
- postgresql - PostgreSQL updating partial indexes
- react-native - 在本机反应中出现“无法读取 null 的属性‘pickAlgorithm’”错误
- c++ - 在 C++ 中定义良好的基类中使用对派生类成员的引用吗?
- google-earth - 在命令行上查询 Google Earth Entreprise Fusion 中图像资源的状态
- html - 将来自 ASP.NET 应用程序的 Word 文件内容导入 CKEditor
- android - 当用户收到其他通知时,Android 来电通知声音停止
- button - Woocommerce:在结帐中隐藏“立即购买”按钮
- python - 找到地板和用户脚之间的交叉点