- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以基本上我想让用户在注册时可以选择上传图像。我永远不知道从哪里开始。我知道 CouchDB 支持附件,但它到底如何与 Cradle 配合使用。
我在 Cradle 的文档中找到了以下代码
saveAttachment: function (/* id, [rev], attachmentName, contentType, dataOrStream */) {
所以我知道它可以保存附件。那我该如何传递图像呢?我假设在 html 中,我必须使用
form(action='/upload', enctype='multipart/form-data', method='post')
input(type='file', name='upload')
input(type='submit', value='Upload')
但是我该去哪里呢?这一步不会将图像保存在服务器上的某个地方吗?然后我是否需要以某种方式获取图像的地址并将其传递到支架以将其作为附件保存在 CouchDB 数据库中。
如果您能帮助我,请先致谢!
最佳答案
您需要从表单中获取传入流,然后通过 Cradle 将流发送到 CouchDB .
将流发送到 Cradle 可能是最简单的事情。此示例展示了如何使用本地文件执行此操作:
db.saveAttachment(
doc.id,
doc.rev,
attachmentId,
mimetype,
fs.createReadStream(path),
function( err, data ){
console.log(data);
}
);
我认为更棘手的一点是管理传入的文件。它们以多部分流的形式到达,而不是保存到文件中。我的偏好是将该代码外包给 formidable ,直接或间接通过connect-form如果您使用的是 Connect 或 Express。
我当前的连接表单代码可以总结为:
req.form.complete(function(err, fields, files){
if ( err ) // handle err
else
{
db.saveAttachment(
doc.id,
doc.rev,
attachmentId,
mimetype,
fs.createReadStream(files.name),
function( err, data ){
console.log(data);
}
);
}
});
这对于速度来说并不是最佳的,因为它在磁盘上创建一个实际的文件,而不是将数据从一个地方流式传输到另一个地方,但它很方便并且可以满足很多用例。
如果您正在处理图像上传,您应该注意的另一个包是 node-imagemagick,正如您从名称中所期望的那样,它是 ImageMagick 的 Node.js 包装器。
关于node.js - CouchDB/Cradle 如何添加图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799350/
初学者问题。 下面是 Cradle CouchDB 文档中给出的示例: https://github.com/cloudhead/cradle 什么是 http://living-room.couch
我正在开发一个 nodejs 应用程序,并将两个附件插入到带底座的 couchdb。目前我正在插入第一个附件,获取更新的文档,然后使用更新的 _rev 键插入第二个附件。这是低效的,导致我不得不对 c
所以基本上我想让用户在注册时可以选择上传图像。我永远不知道从哪里开始。我知道 CouchDB 支持附件,但它到底如何与 Cradle 配合使用。 我在 Cradle 的文档中找到了以下代码 saveA
使用 Cradle 5.5 和 NodeJS 0.4.8,我似乎无法连接工作。我已经成功使用RESTLER,但我似乎无法配置cradle。我想利用 Cradle 的缓存方面。 我已经尝试了我的 Clo
所以我正在使用 couchDB/Cradle/和 Node JS 来构建一个简单的博客系统。我想按日期对帖子进行排序,因此我使用 emit(docs.created_at,docs) 使用 Couch
我正在使用 node.js + cradle 和 couchdb 开发消息系统。 当用户提取他们的消息列表时,我需要提取向他们发送消息的用户的在线状态。每个注册用户的在线状态存储在用户文档中,消息信息
我无法更好地解释,因为我真的不知道为什么会出现这个错误。首先,这是我收到错误的代码: app.get '/image/:id', (req, res, next) -> images.get
我有一个 CouchDb 表,用于存储带有 id 和访问 token 的 cookie。我想为给定的 token 创建一个新的 cookie,前提是该 token 尚不存在于我们的表中。我怎样才能在
在我的应用程序中,我使用node.js与couchdb连接。我是couch db的新手,所以我不知道如何使用cradle与couch db连接。请帮助我。我尝试了下面的代码,但没有创建新的“测试”数据
使用 cradle ,我如何才能将参数传递给 CouchDB 中的 View ? 更新 假设我想返回匹配 _key(默认)以外的其他属性的文档... // document format {
我在“nodejs”中使用“express”和“cradle”。如果我请求我的数据库,我必须定义一个回调来处理响应。不幸的是,我无法在我的回调函数中访问 res(响应)。这个问题的最佳实践是什么?这是
我一直在使用 Cradle(couchDB 客户端)进行大量工作。但是,我有一个充满键值对的文档,并且我正在尝试删除其中的特定行。 在 documentation,我找不到一种不删除整个文档或使用空值
我一直在尝试在 Cradle 中使用多个按键,但我几乎要放弃了,因为我在任何地方都找不到帮助。 我将此查询与 HTTP 请求结合使用,它为我带来了结果 gps_map/_design/carros/_
有没有一种方法可以将值传递给 View 函数而不是键? 在数据库中,我有一个带有坐标的地点列表,我想获取距某个点一定距离内的所有地点。所以我的 View 函数应该能够访问半径值和一对坐标,并且在函数内
我在我的博客上使用 Cradle 与 Express 和 EJS。也许我错过了一些东西,但其中一些将 html 实体转换为其等效项。 我在 doc.quote 字段中有 html,在这段代码之后它发生
我将 png 作为附件上传到 CouchDb 数据库。当我通过 Futon 查看它时,它很好,如果我试图通过支架取回它,它就会损坏。我使用了 crade 附带的 crade-test.js 中的一个片
我正在尝试使用 Jetpack Compose Material 3 制作 Cradled FAB。基于本网站文档中的图像:https://m3.material.io/components/bott
我正在尝试编写一个同时循环和更改多个文档中的字段的函数。唯一的问题是,当我传递参数值时, Gradle 合并似乎实际上传递了一个带有参数名称而不是值的字段。 例如: function saveToAl
这个问题在这里已经有了答案: 关闭10 年前。 Possible Duplicate: Getting ' bad_request invalid_json' error when trying t
我正在尝试使用 cradle 作为数据库驱动程序来测量具有 CouchDB 后端的简单 Node.js 程序的吞吐量。当我对程序施加负载时,我在 30 秒内收到以下错误: EADDRINUSE,地址已
我是一名优秀的程序员,十分优秀!