2016-04-01 43 views
1

這是我的第一個gridfs-stream工作。我試圖從我的本地目錄(C:\ work \ node \ test.txt)讀取一個文件並將其寫入到gridfs-stream。當我運行此文件時,出現錯誤Mongo gridfs-stream

C:\ work \ node> node測試 events.js:85 throw er; //未處理的 '錯誤' 事件 ^ 錯誤:ENOENT,打開C:\工作\節點\工作 頌歌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); 
    }); 
+1

確定。我沒有意識到我的文件路徑中的轉義字符。一旦我糾正它,它的工作。我想我跳過了太快的槍:) – JBone

+0

這是我的改正文件路徑看起來如何fs.createReadStream(「C:\ /工作\ /節點\ /測試.txt」)管道(writeStream); – JBone

+0

你應該把它作爲答案,並自己接受。可能會幫助其他人:) – war1oc

回答

0

這現在工作與該修正的文件路徑

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);** 
});