gpt4 book ai didi

javascript - 在没有 node.js 的情况下从文件(文件系统)读取

转载 作者:行者123 更新时间:2023-11-30 20:17:11 25 4
gpt4 key购买 nike

我正在尝试使用此功能将文件上传到 Google 云端硬盘,该功能取自他们的 Node.js 示例:

function uploadFiles() {
var fileMetadata = {
'name': 'test-1.jpg'
};
var media = {
mimeType: 'image/jpeg',
body: fs.createReadStream('img/test-1.jpg')
};
gapi.client.drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, function(err, file) {
if (err) {
// Handle error
console.error(err);
} else {
console.log('File Id: ', file.id);
}
});
}

我的问题是 fs.createReadStream() 行。

由于 Node.js 是一个服务器端工具,浏览器中不存在 require(),那么如何在不使用 Node.js 的情况下从 JavaScript 中的文件创建字节流?

编辑: - gapi.client.drive.files.create() 问题

 function readFile(evt) {
var fData = [];
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.readAsText(f);
fData.unshift(f.name,f.type);
var myInt = setInterval(function() {
if (r.readyState == 2) {
fData.push(r.result);
uploadFiles(fData);
clearInterval(myInt);
}
}, 50);
} else {
alert("Failed to load file");
}

}

function uploadFiles(dataArray) {
var fileMetadata = {
'name': dataArray[0]
};
var media = {
mimeType: dataArray[1],
body: dataArray[2]
};
gapi.client.drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, function(err, file) {
console.log("Reached!");
if (err) {
console.error(err);
} else {
console.log('File Id: ', file.id);
}
});
}

document.getElementById('upFile').addEventListener('change', readFile, false);

最佳答案

use filereader on client side to read file data. use this demo code and try.

<script type="text/javascript">
function readSingleFile(evt) {
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.onload = function(e) {
var contents = e.target.result;
}
r.readAsText(f);
} else {
alert("Failed to load file");
}
}
document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
</script>

关于javascript - 在没有 node.js 的情况下从文件(文件系统)读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51816914/

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