gpt4 book ai didi

javascript - 如何使用 nedb 发送图像文件

转载 作者:行者123 更新时间:2023-12-03 01:49:58 26 4
gpt4 key购买 nike

我使用nedb .

如何上传图片?

我正在尝试这段代码。

但是,没有保存的证据。

const Nedb = require('nedb');
const path = require('path');
const { remote } = require('electron');

const dbPath = remote.app.getPath('userData');
const users = new Nedb({
autoload: true,
filename: path.join(dbPath, 'users.db'),
});

// upload something image file.
document.querySelector('input[type=file]').addEventListener('change', (evt) => {
const file = evt.target.files[0];

users.insert(file, (err, docs) => {
console.log(docs); // `{"_id": "hash value"}` only data
});

});

我想保存二进制数据。

请告诉我如何使用 nedb 上传图像。

最佳答案

因为我的解决方案是你不能直接存储,但你可以做的是首先使用你能找到的任何库将图像转换为字符串或base64字符串,但它会根据图像类型生成一个非常长的字符串和质量。

我使用了原生 JavaSCript 提供的 FileReader API:

 const fileReader = new FileReader();
fileReader.addEventListener('load', e => {

let imageStrings = (e.target.result);

});
fileReader.readAsDataURL(file);

因此,当您将其发送到 Express 或任何 Web 服务器时,您会发现它会在客户端的终端或控制台中导致大小错误消息或发布 413 有效负载错误消息,因此如果您使用的是 Express,则可以调整JSON 限制和编码参数。即使您保存图像字符串,在 nedb 文件中看到它也会很难看(但至少现在它可以工作了。)

另一个选择是考虑 GitHub 上此线程中所说的内容页或 https://github.com/louischatriot/nedb/issues/38他们在这个链接中讨论了将文件上传到您的文件系统并将其存储在其他地方,并在您的 nedb 数据库中对其进行数据库引用。

如果您或任何人找到可行的解决方案,请添加解决方案

关于javascript - 如何使用 nedb 发送图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50460038/

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