小编Joh*_*edy的帖子

使用带有 inmemory 选项的 multer 并流式传输到 mongodb gridfs

以下代码按预期工作:它读取已使用 multer [https://github.com/expressjs/multer] 上传的文件并将其流式传输到 gridfs。我也能够从 gridfs 中蒸出它。

var target = gfs.createWriteStream({
            filename: fileItem.originalname,
            mode: 'w',
            metadata: metaData
        });

        fs.createReadStream(tempFile)
            .on('end', function () {
                console.log('File read and stored');
            })
            .on('error', function (err) {
                console.log('Error handling file ' + err);
            })
            .pipe(target);

        // Attach new file to document list
        target.on('close', function (file) {
            filesUploadedList.push(file._id);
Run Code Online (Sandbox Code Playgroud)

fileItem是通过迭代req.files.file上传的文件获得的。

但是,我正在尝试找出 multer 的 inMemory 选项。如果我将此设置为 true,fileItem则将填充缓冲区。请注意,如果没有此选项, 的缓冲区/内容fileItem是空的,这就是为什么在上面的代码中从fileItem.location.

用内容填充目标的最佳方法是什么?该fs.createReadStream做的那一刻管道。

谢谢。

J

mongodb node.js gridfs

5
推荐指数
2
解决办法
1万
查看次数

npm:如何在Windows(10)中设置NODE_ENV?

我正在尝试在package.json中添加一个npm脚本,该脚本NODE_ENV在进行其他操作(如运行webpack)之前进行设置。但是,尽管语法似乎是正确的,NODE_ENV在Windows 10下运行时未设置。

测试脚本

"scripts": {
   "test": "SET NODE_ENV=debug && echo %NODE_ENV%" }
Run Code Online (Sandbox Code Playgroud)

结果来自npm run test“生产”(NODE_ENV运行脚本之前已设置为“生产”)。应该是“调试”。

有什么事吗 我什没有尝试过交叉环境

编辑

为了澄清我的问题:我无法在Windows 10下设置任何环境变量。我需要调用SET,因为我正在Windows(10)下运行脚本。似乎是一些权限问题(不允许脚本设置环境变量?)。

另一个(或实际的)问题是:如何创建一个脚本(使用Webpack)以创建JavaScript文件的缩小版本(用于生产),以及如何创建非缩小版本的脚本(用于开发)。到目前为止,我使用以下方法(有关重要​​部分,请参见注释):

编辑2

我现在并没有意识到这可能会有所作为,但万一确实如此:我使用的是使用create-react-app创建的React应用。我找到了问题的答案,请参见下文。

package.json:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {

    // Scipts for build for development and for production
    "build-dev": "SET NODE_ENV=debug webpack",
    "build-release": "SET NODE_ENV=production webpack"

  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-core": "^6.24.1",
    "babel-loader": "^7.0.0",
    "babel-preset-env": "^1.4.0",
    "babel-preset-react": …
Run Code Online (Sandbox Code Playgroud)

npm

5
推荐指数
2
解决办法
1万
查看次数

JSON.Parse在Faker.js中将字符串解析为JSOn时显示位置0处的错误

我已经看到了这些类型的问题并尝试了解决方案,但没有奏效.

我从UI发送一个数组到控制器,我在Node.js中有faker.js的参考

我在控制器中的代码:

var FirstName = req.body;                    // req.body has array
console.log(FirstName);                      // **Prints** { FirstName: 'faker.name.firstName()' }
const User = FirstName;                     // Didnt work because faker.name.firstName is as string
const Usercheck = JSON.stringify(GettingData[0]);
var response = Usercheck.replace(/['"]+/g,'')
console.log(response);                      // Here it removed the quotations but took total as string. "{ FirstName: faker.name.firstName()}"
JSON.parse(response);     // Tried to parse string as JSON but this shows the error at position 0
Run Code Online (Sandbox Code Playgroud)

在Faker.js工作的预期代码是

const User = { FirstName: faker.name.firstName() } // Hard code …
Run Code Online (Sandbox Code Playgroud)

javascript json node.js faker

5
推荐指数
1
解决办法
89
查看次数

更喜欢解构es-lint错误

我有这个功能:

const calculateTotal = (items) => {
  return items.reduce((totalPrice, basketItem) => {
    const price = basketItem.product.price;
    const quantity = basketItem.quantity;
    const total = price * quantity;
    return totalPrice + total;
  }, 0);
};
Run Code Online (Sandbox Code Playgroud)

我如何通过ES6 +解构来解决这个问题?

我知道我需要类似的东西(第4行):

const { basketItem: quantity } = quantity;

但我不能让第3行工作

javascript destructuring reactjs eslint

5
推荐指数
2
解决办法
452
查看次数

溢出的替代方法:在Mozilla和Internet Explorer浏览器中覆盖CSS属性

overflow:overlay在chrome和safari中运作良好。此属性在IE和Mozilla浏览器中不可用。我需要滚动条窗格始终可见。

html javascript css css3

5
推荐指数
1
解决办法
1530
查看次数

整数和对象之间的比较结果是什么?

将对象与整数进行比较时,JavaScript的行为是什么?例如:

var result = { test: 'blah' };
if (result < 0) {
    // when is this portion processed?
}
Run Code Online (Sandbox Code Playgroud)

我目前正在使用一个result变量,它可以是一个整数(错误代码)或一个包含更多细节的对象.

我想我可以使用parseInt()或者parseFloat()我很想知道处理这些情况的最短路径...

javascript operators

3
推荐指数
1
解决办法
274
查看次数

将项目移动到另一个目录会导致缺少视图

我使用dotnet cli创建了一个项目,一切正常,直到我想为应用程序编写测试.
我创建了一个src目录并将整个Web项目移动到该src文件夹,之后我在一个名为的文件夹中创建了测试项目tests.

我在测试项目中添加了对Web应用程序的引用,测试成功运行但是当我运行我的应用程序时,dotnet run我收到以下错误:

在此输入图像描述

Views文件夹位于src目录中,其他所有文件都包含*.csproj.

请在下面找到我的文件夹结构:

文件夹结构

任何帮助,将不胜感激.谢谢.

c# asp.net-core-mvc dotnet-cli asp.net-core-2.0

-4
推荐指数
1
解决办法
491
查看次数