0

我正在使用 Mikeal 的请求模块从 Express 应用程序与 CouchDB HTTP API 对话。我不能使用任何其他模块(例如 nano),因为这是一个学术项目。

我想做的是获取一个图像文件,该文件已从 Web 应用程序中的表单上传,并将其作为附件保存到我的沙发上。使用 curl 执行此操作非常简单:

curl -vX PUT http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/artwork.jpg?rev=2-2739352689
--data-binary @artwork.jpg -H "Content-Type: image/jpg"

我无法理解的是如何使用请求模块构造 PUT 请求。Express 将文件临时存储在目录中

/tmp/{doc._id}.jpg

我如何将文件从那里拿到我的沙发上?这里很绝望。

4

1 回答 1

0

我还没有验证这一点,但你也许可以这样做:

var 
 fs = require('fs'),
 request = require('request'),
 url = 'http://admin:password@127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/artwork.jpg?rev=2-2739352689';
var requestStream = request.put(url);

requestStream.on('response', function (response) {
  console.log(response);
});
fs.createReadStream('image.jpg').pipe(requestStream);
于 2013-02-22T11:56:53.330 回答