首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用nedb发送图像文件?

如何使用nedb发送图像文件?
EN

Stack Overflow用户
提问于 2018-05-22 04:54:34
回答 1查看 923关注 0票数 1

我使用nedb

如何上传图片?

我在尝试这个密码。

但是,没有保存的证据。

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-16 15:48:58

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

我使用了本机FileReader提供的JavaSCript API:

代码语言:javascript
复制
 const fileReader = new FileReader();
    fileReader.addEventListener('load', e => {

                   let  imageStrings = (e.target.result);

                });
   fileReader.readAsDataURL(file);

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

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

如果您能找到或有人找到一个可行的解决方案,那么请添加一个解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50460038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档