fix: 注入webview功能
This commit is contained in:
parent
b65cb471e3
commit
79128529bf
@ -2,6 +2,8 @@ body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,
|
||||
Arial, sans-serif;
|
||||
margin: auto;
|
||||
max-width: 38rem;
|
||||
padding: 2rem;
|
||||
}
|
||||
|
||||
webview {
|
||||
height: 100vh;
|
||||
}
|
@ -7,5 +7,6 @@
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<webview id="" src="https://nicecoders.github.io" />
|
||||
</body>
|
||||
</html>
|
||||
|
@ -15,7 +15,8 @@ const createWindow = (): void => {
|
||||
height: 600,
|
||||
width: 800,
|
||||
webPreferences: {
|
||||
preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY
|
||||
preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY,
|
||||
webviewTag: true
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -5,7 +5,7 @@ import path from 'node:path';
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export const uploadFile = (filePaths: string[], _sender: Electron.WebContents) => {
|
||||
// 获取用户当前文件夹路径
|
||||
const saveDirectoryPath = app.getPath('userData');
|
||||
const saveDirectoryPath = app.getPath('downloads');
|
||||
for (let i = 0; i < filePaths.length; i++) {
|
||||
const fileName = path.basename(filePaths[i]);
|
||||
const targetFilePath = path.join(saveDirectoryPath, fileName);
|
||||
@ -35,17 +35,17 @@ export const uploadFile = (filePaths: string[], _sender: Electron.WebContents) =
|
||||
}
|
||||
|
||||
export const singleUpload = (file: File) => {
|
||||
let path = file.path; //文件本地路径
|
||||
let stats = fs.statSync(path); //读取文件信息
|
||||
let chunkSize = 3 * 1024 * 1024; //每片分块的大小3M
|
||||
let size = stats.size; //文件大小
|
||||
let pieces = Math.ceil(size / chunkSize); //总共的分片数
|
||||
const path = file.path; //文件本地路径
|
||||
const stats = fs.statSync(path); //读取文件信息
|
||||
const chunkSize = 3 * 1024 * 1024; //每片分块的大小3M
|
||||
const size = stats.size; //文件大小
|
||||
const pieces = Math.ceil(size / chunkSize); //总共的分片数
|
||||
function uploadPiece (i: number) {
|
||||
//计算每块的结束位置
|
||||
let enddata = Math.min(size, (i + 1) * chunkSize);
|
||||
let arr: any[] = [];
|
||||
//创建一个readStream对象,根据文件起始位置和结束位置读取固定的分片
|
||||
let readStream = fs.createReadStream(path, { start: i * chunkSize, end: enddata - 1 });
|
||||
const endData = Math.min(size, (i + 1) * chunkSize);
|
||||
const arr: any[] = [];
|
||||
//创建一个readStream对象,根据文件起始位置和结束位置读取固定的分片
|
||||
const readStream = fs.createReadStream(path, { start: i * chunkSize, end: endData - 1 });
|
||||
//on data读取数据
|
||||
readStream.on('data', (data)=>{
|
||||
arr.push(data)
|
||||
@ -53,13 +53,14 @@ export const singleUpload = (file: File) => {
|
||||
//on end在该分片读取完成时触发
|
||||
readStream.on('end', ()=>{
|
||||
//这里服务端只接受blob对象,需要把原始的数据流转成blob对象,这块为了配合后端才转
|
||||
let blob = new Blob(arr)
|
||||
const blob = new Blob(arr)
|
||||
//新建formdata数据对象
|
||||
var formdata = new FormData();
|
||||
const formdata = new FormData();
|
||||
formdata.append("file", blob);
|
||||
console.log('blob.size',blob.size)
|
||||
formdata.append("size", size + ''); // 数字30被转换成字符串"30"
|
||||
formdata.append("chunk", i + '');//第几个分片,从0开始
|
||||
formdata.append("chunks", pieces + '');//分片数
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user