如何从 angular 应用程序读写本地文件

Hug*_*ang 2 typescript angular

我正在构建一个 Angular 7 Web 应用程序,我正在尝试为用户整合功能以完成调查并提交结果。在我能够设置数据库来存储信息之前,我想将结果存储在本地 json 文件中。但是,我在不使用 Node.js 'fs' 模块的情况下找不到附加到现有本地文件的方法(我已经读过此功能不能与 Angular 6-7 一起使用)。

我没有办法做到这一点吗?我知道这不是最好的方法,我计划在应用程序启动并运行后合并服务器端和数据库功能。

小智 5

您可以使用 fileSaver。

尝试以下

npm install file-saver --save
Run Code Online (Sandbox Code Playgroud)

然后将声明文件添加到您的项目中,例如“declarations.d.ts”,并在其中放入

declare module 'file-saver';
Run Code Online (Sandbox Code Playgroud)

在您的 systemjs.config.js 中,将以下内容添加到 map 部分

'file-saver': 'npm:file-saver/FileSaver.js'
Run Code Online (Sandbox Code Playgroud)

然后在您的组件或服务中导入库,如下所示

import { Component } from '@angular/core';
import * as saveAs from 'file-saver';


@Component({
  selector: 'my-app',
  template: `<h1>Hello {{name}}</h1>
  <button (click)="SaveDemo()">Save File</button>`,
})
export class AppComponent {
  name = 'Angular';

  SaveDemo() {
    let file = new Blob(['hello world'], { type: 'text/csv;charset=utf-8' });
    saveAs(file, 'helloworld.csv')
  }
} 

Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。