gpt4 book ai didi

javascript - 如何从浏览器中读取 .AppImage

转载 作者:行者123 更新时间:2023-12-03 12:40:52 24 4
gpt4 key购买 nike

我正在尝试使用 JS 从浏览器的拖放中读取 appimage,然后使用 node.js FS 模块将其保存在其他地方,我尝试了所有浏览器文件阅读器选项,但它们似乎都不起作用。 (他们都给了我一个与原始文件不同的文件大小)https://developer.mozilla.org/en-US/docs/Web/API/FileReader

function saveMe(readFile,filename) {
var reader = new FileReader();
// Read file into memory as UTF-16
reader.readAsBinaryString(readFile, "UTF-16");
// Handle progress, success, and errors
reader.onprogress = ()=>{};
reader.onloadend = ()=>{
//console.log(reader.readyState);
if(reader.readyState==2){
//Create File './storage/apps/'+filename, reader.result
console.log(reader.result);
fs.writeFile('./storage/apps/'+filename,reader.result,(err)=>{
if(err){
console.log("Error While reading file");
}else{

}
});
}else{

}
};
reader.onerror = ()=>{console.log("Error reading file")};
}

我应该使用哪种方法?
- FileReader.readAsArrayBuffer()
- FileReader.readAsBinaryString()
- FileReader.readAsDataURL()
- FileReader.readAsText()

最佳答案

读取为 UTF-16 并在写入时将其转换为 base64,同时将写入选项编码设置为 base64

function saveMe(readFile,filename) {
var reader = new FileReader();
// Read file into memory as UTF-16
reader.readAsBinaryString(readFile, "UTF-16");
// Handle progress, success, and errors
reader.onprogress = ()=>{};
reader.onloadend = ()=>{
//console.log(reader.readyState);
if(reader.readyState==2){
//Create File './storage/apps/'+filename, reader.result
//console.log(reader.result);
fs.writeFile('./storage/apps/'+filename,window.btoa(reader.result),{encoding: "base64"},(err)=>{
if(err){
console.log("Error While reading file");
}else{

}
});
}else{

}
};
reader.onerror = ()=>{console.log("Error reading file")};
}

关于javascript - 如何从浏览器中读取 .AppImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61279048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com