Eug*_*erg 10 node.js meteor multer
我刚刚开始使用流星.
我找到了,并添加了'multer'包:
meteor add pfafman:multer
Run Code Online (Sandbox Code Playgroud)
现在,我想知道如何配置meteor的服务器端使用.
在我的普通节点应用程序中,我使用它像这样:
app.use(multer({ dest: './uploads/',
rename: function (fieldname, filename) {
return filename+Date.now();
},
onFileUploadStart: function (file) {
console.log(file.originalname + ' is starting ...');
},
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path);
var fileName = file.name;
var done=true;
}
}));
Run Code Online (Sandbox Code Playgroud)
Meteor中的等效服务器代码是什么?
pfafman的multer只是npm的multer的包装器(如果您查看它的来源,您会意识到它真正的作用是
multer = Npm.require('multer');
Run Code Online (Sandbox Code Playgroud)
然后通过以下方式将其导出为全局变量api.export('multer');(他甚至没有包含任何测试用例,下面是一个演示。)
在表示上,app.use()用于将中间件“层”添加到中间件堆栈。由于现在multer已经是一个全局变量,可以在服务器上的任何位置访问(在获得之后meteor add pfafman:multer),因此可以通过在以下方式中调用它来像在express中那样使用它Meteor.startup:
if (Meteor.isServer) {
Meteor.startup(function () {
multer({ dest: './uploads/',
rename: function (fieldname, filename) {
return filename+Date.now();
},
onFileUploadStart: function (file) {
console.log(file.originalname + ' is starting ...');
},
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path);
var fileName = file.name;
var done=true;
}
})
});
}
Run Code Online (Sandbox Code Playgroud)
注意:这将在以下uploads目录中创建目录
YourMeteorProject/.meteor/local/build/programs/server/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
560 次 |
| 最近记录: |