【问题标题】:Mongo gridfs-streamMongo gridfs 流
【发布时间】:2016-04-01 16:14:04
【问题描述】:

这是我的第一个 gridfs-stream 工作。我正在尝试从本地目录 (C:\work\node\test.txt) 读取文件并将其写入 gridfs-stream。当我运行这个文件时,我得到以下错误

C:\work\node>节点测试 事件.js:85 投掷者; // 未处理的“错误”事件 ^ 错误:ENOENT,打开 'C:\work\node\work 颂歌 est.txt' 在错误(本机)

我也尝试过使用 try-catch,但出现了同样的错误。任何人都可以看到我所犯的错误并指出吗?谢谢。

这是我的代码..

var fs = require("fs"),
    mongo = require("mongodb"),
    Grid = require("gridfs-stream"),
    gridfs,
    writeStream,
    readStream,
    buffer = "";

    mongo.MongoClient.connect("mongodb://localhost:27017/test", function  (err, db) {
   //  "use strict";
    gridfs = Grid(db, mongo);

   // write file
   writeStream = gridfs.createWriteStream({ filename: "test.txt" });
   fs.createReadStream("C:\work\node\test.txt").pipe(writeStream);
  });

【问题讨论】:

  • 好的。我没有意识到文件路径中的转义字符。一旦我纠正它,它就可以工作。我想我开枪太早了:)
  • 这是我修正后的文件路径的样子 fs.createReadStream("C:\/work\/node\/test.txt").pipe(writeStream);
  • 你应该把它作为答案并自己接受。可能会帮助别人:)
  • 我怎样才能接受它作为我的答案?我在任何地方都看不到接受按钮/链接。
  • 你必须在下面发布答案,然后接受

标签: node.js mongodb


【解决方案1】:

现在可以使用更正的文件路径

   var fs = require("fs"),
   mongo = require("mongodb"),
   Grid = require("gridfs-stream"),
   gridfs,
   writeStream,
   readStream,
   buffer = "";

   mongo.MongoClient.connect("mongodb://localhost:27017/test", function   (err, db) {
 //  "use strict";
   gridfs = Grid(db, mongo);

  // write file
  writeStream = gridfs.createWriteStream({ filename: "test.txt" });
  **fs.createReadStream("C:\/work\/node\/test.txt").pipe(writeStream);**
 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    相关资源
    最近更新 更多