【发布时间】:2019-06-18 04:39:47
【问题描述】:
我在内部有一个 Electron 应用程序,我正在加载 Angular 应用程序。我正在通过 API 调用下载一个字节数组(即 ArrayBuffer),并将这些数据传递给我通过electron.remote.require('./file-service') 连接的方法,以在本地文件系统中创建一个文件。
如果我下载到 120 MB,它支持。如果我下载的大小超过这个大小,它会挂起窗口,UI 也会变成白屏。
示例 Angular 代码:
declare var electron: any;
const { createDataFile } = electron.remote.require('./file-service')
const payLoad = new FormData();
const httpOptions = {
headers: new HttpHeaders(),
reportProgress: true,
};
const req = new HttpRequest('GET', 'http://localhost:8080/getData', payLoad, {...httpOptions, responseType: 'arraybuffer'});
this.http.request<ArrayBuffer>(req).subscribe((event: HttpEvent<ArrayBuffer>) => {
switch (event.type) {
case HttpEventType.Response:
createDataFile(event.body)
break;
}
});
文件系统相关代码:file-service.js
module.exports = {
createDataFile(fileData) {
}
}
我用零语句做了方法,仍然是挂着的,窗口变白了。
电子窗口:
请帮助我解决此问题。
【问题讨论】:
标签: javascript angular electron arraybuffer electron-window