28 lines
599 B
JavaScript
28 lines
599 B
JavaScript
|
/* eslint-disable */
|
||
|
self.onmessage = function (e) {
|
||
|
const files = e.data;
|
||
|
const promises = [];
|
||
|
|
||
|
for (let file of files) {
|
||
|
promises.push(readFile(file));
|
||
|
}
|
||
|
|
||
|
Promise.all(promises).then(results => {
|
||
|
self.postMessage(results);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function readFile(file) {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
const reader = new FileReader();
|
||
|
reader.onload = function (e) {
|
||
|
resolve({
|
||
|
name: file.name,
|
||
|
data: e.target.result
|
||
|
});
|
||
|
};
|
||
|
reader.onerror = reject;
|
||
|
reader.readAsDataURL(file); // 或者使用其他方法如 readAsArrayBuffer
|
||
|
});
|
||
|
}
|