imports = {};
imports.fs = require('fs');
imports.remote = require('electron').remote;
window.imports = imports;
2、主要代码
onSaveButtonClick(): void {
const dialog = this.imports.remote.dialog;
const window = this.imports.remote.getCurrentWindow();
let options = {
title: "保存文件",
defaultPath : "C:\\自定义文件名.txt",
filters :[
{ name: 'Images', extensions: ['jpg', 'png', 'gif'] },
{ name: 'Movies', extensions: ['mkv', 'avi', 'mp4'] },
{ name: 'Custom File Type', extensions: ['as'] },
{ name: 'All Files', extensions: ['*'] }
dialog.showSaveDialog(window, options).then(result => {
var stream = this.imports.fs.createWriteStream(result.filePath);
if (this.windRainButtonType)
this.createWindAndRainFile(stream);
if (this.snowButtonType)
this.createSnowFile(stream);
}).catch(error => {
console.log(error);
});
3、showSaveDialog方法参数二options属性
title:
对话框窗口的标题。
defaultPath :
对话框的默认展示路径。
filters :
对话框过滤文件。
详细介绍请参考:https://www.electronjs.org/docs/api/dialog
4、打开的对话框
1、引入相关模块imports = {};imports.fs = require('fs'); // nodejs文件系统模块imports.remote = require('electron').remote;window.imports = imports;2、主要代码 onSaveButtonClick(): void { const dialog = this.imports.remote.dialog; const window = this.imports.
<button onclick="openFile()">打开文件</button>
<textarea name="" id="" cols="30" rows="10"></textarea>
<button onclick="saveFile()">保存文件</button>
index.js
const {remote: {dialog}} = require('electron')
// main.js
const {app, BrowserWindow, ipcMain, dialog} = require('electron');
ipcMain.on('save-file-dialog', function (event) {
let startPath = 'target/output';
if (process.platform === 'wi
ipcMain模块是EventEmitter类的一个实例。在主进程中使用时,它处理从渲染器进程(网页)发送的异步和同步消息。从渲染器发送的消息将发送到此模块。
在渲染进程创建一个保存按钮,并向主进程发送消息:
test.vue
<template>
<a-button icon="branches" @click="exportExcel">导出</a-button...
主要使用技术为nodejs的fs模块,以及electron的dialog
使用dialog.showSaveDialog获取导出文件的路径,然后调用fs.writeFileSync同步写入文件即可。
var filters = [
name: filename,
ex...
使用electron 调用本地的文件对话框。详细说明,可以参考https://www.electronjs.org/docs/api/dialog#dialogshowsavedialogbrowserwindow-options。
我这里提供我的实现,亲测可用。
打开文件
open_file() {
const { dialog } = require('electro...
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
17426