Saya mencoba membuat AngularJS memicu unduhan file ketika pengguna mengklik tombol.

File yang harus diunduh harus berisi data yang dihasilkan selama eksekusi skrip, sehingga konten file teks harus dibuat dari string dasar di AngularJS.

Bagaimana cara menerapkan ini?

Berikut adalah beberapa kode mockup tentang bagaimana saya membayangkan ini akan bekerja:

var fileContent = 'foobar';
$scope.download = function() {
  filedownload.run(fileContent, 'filename.txt');
}
2
Nicolai Schmid 12 Maret 2017, 23:48

2 jawaban

Jawaban Terbaik

Untuk mencapai ini, Anda harus membuat tag di HTML Anda:

<a download="content.txt" ng-href="{{ url }}">download</a>

Pengontrol:

var content = 'file content for example';
var blob = new Blob([ content ], { type : 'text/plain' });
$scope.url = (window.URL || window.webkitURL).createObjectURL( blob );

Dan untuk mengaktifkan URL:

app = angular.module(...);
app.config(['$compileProvider',
    function ($compileProvider) {
        $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|blob):/);
}]);

Sumber: Bagaimana Anda menyajikan file untuk diunduh dengan AngularJS atau Javascript?

4
Nicolai Schmid 13 Maret 2017, 11:14