AngularJS 在页面上写一按钮,点击后会把指定的文本生成本地文件
时间: 2024-03-28 17:42:44 浏览: 113
在AngularJS中,可以使用`Blob`对象和`URL.createObjectURL`方法将指定的文本生成本地文件并下载。具体步骤如下:
1. 在HTML页面中添加一个按钮。
```
<button ng-click="downloadFile()">Download File</button>
```
其中,`ng-click`指令绑定`downloadFile`函数,该函数用于生成并下载文件。
2. 在控制器中定义`downloadFile`函数。
```
app.controller('myCtrl', function($scope) {
$scope.downloadFile = function() {
var text = 'Hello, world!'; // 指定的文本
var fileName = 'myfile.txt'; // 文件名
var blob = new Blob([text], {type: 'text/plain'});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = fileName;
a.click();
URL.revokeObjectURL(url);
};
});
```
其中,`text`为要生成文件的文本内容,`fileName`为要保存的文件名,`Blob`对象用于创建二进制对象,`URL.createObjectURL`方法用于创建URL对象,`document.createElement`方法用于创建一个下载链接,`a.click()`触发点击下载,`URL.revokeObjectURL`方法释放URL对象。
以上代码中,需要注意的是,`Blob`对象的第二个参数为文件类型,这里设置为`text/plain`表示生成的文件为纯文本文件,如果要生成其他类型的文件,可以根据实际需要更改该参数。
点击按钮后,就会自动下载生成的文件。