網站首頁 編程語言 正文
文章目錄
- 使用showSaveDialog方法
- 1、導出附件(網絡路徑)
- 2、導出附件(html)為 word文件
- 3、導出附件(二進制blob文件)為 xls文件
使用showSaveDialog方法
1、導出附件(網絡路徑)
import { remote } from 'electron';
import fs from 'fs';
import request from 'request';
/**
* @description: 下載附件
* @param {Object} param 附件對象
*/
private downloadFile(param: any) {
remote.dialog.showSaveDialog({
defaultPath: param.filename,
filters: [
{ name: 'Custom File Type', extensions: [param.extension] }
]
}).then((res: any) => {
const readUrl = param.filepath;
const writeUrl = res.filePath;
const wstream = fs.createWriteStream(writeUrl);
request(readUrl).pipe(wstream);
wstream.on('finish', () => {
(this as any).opertResult(5, '文件保存成功!');
});
});
}
2、導出附件(html)為 word文件
import { remote } from 'electron';
import fs from 'fs';
import '@/utils/word-export-blob';
/**
* @description: 下載附件
*/
private downloadFile() {
remote.dialog.showSaveDialog({
defaultPath: 'XXX登記表.doc',
filters: [
{
name: 'Custom File Type',
extensions: ['doc']
}
]
}).then((res: any) => {
const writeUrl = res.filePath;
const temp = ($('#export-info-template') as any).wordExport();
const render = new FileReader();
render.readAsText(temp);
render.onloadend = () => {
const writeData = render.result;
const wstream = fs.createWriteStream(writeUrl);
wstream.write(writeData);
wstream.end();
wstream.on('finish', () => {
(this as any).opertResult(5, '文件保存成功!');
});
};
});
}
3、導出附件(二進制blob文件)為 xls文件
/**
* @description: 下載附件
* @param {Object} param 附件流
*/
private downloadFile(param: any) {
remote.dialog.showSaveDialog({
defaultPath: '電話本.xls',
filters: [
{
name: 'Custom File Type',
extensions: ['xls']
}
]
}).then((res: any) => {
const writeUrl = res.filePath;
const temp = new Blob([param], {
type: 'application/vnd-excel;charset=utf-8'
});
const render = new FileReader();
render.readAsArrayBuffer(temp);
render.onloadend = () => {
const writeData = Buffer.from(render.result || '');
const wstream = fs.createWriteStream(writeUrl);
wstream.write(writeData);
wstream.end();
wstream.on('finish', () => {
(this as any).opertResult(5, '文件保存成功!');
});
};
});
}
原文鏈接:https://blog.csdn.net/dfdlife/article/details/123494266
相關推薦
- 2022-10-05 Iptables防火墻iprange模塊擴展匹配規則詳解_安全相關
- 2022-11-05 python中的bisect模塊與二分查找詳情_python
- 2022-12-27 Docker使用Calico網絡模式配置及問題處理方法_docker
- 2022-06-18 C++?詳細講解對象的構造順序_C 語言
- 2023-03-01 pyinstaller打包后偶爾出現黑窗口一閃而過的問題及解決_python
- 2022-09-06 Python中閉包與lambda的作用域解析_python
- 2022-11-04 SQL?Server還原完整備份和差異備份的操作過程_MsSql
- 2023-07-05 【Redis】數據被刪除,內存占用還這么大?
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支