Tag: multer

给定一个图像的本地相对url,我怎样才能得到实际的图像发送

我写了一个快速的应用程序,其中一个端点接收图像,然后我将该图像发送到第三方Api。 我用multer将图像保存到磁盘,我有相对的文件path的图像,但我试图调用的API需要实际的图像或图像的url。 问题是,我只传递一个包含文件path的图像的string值。 这是我目前的: var multer = require('multer') var storage = multer.diskStorage({ destination: function(req, file, cb) { cb(null, './uploads/'); }, filename: function(req, file, cb) { cb(null, Date.now() + file.originalname); } }); var upload = multer({ storage: storage }); 我需要在这里调用这个API的图像: router.post('/images/tags/info/image', upload.single('fileName'), function(req, res, next) { console.log(req.file.path); var imageUrl = req.file.path; app.models.predict('APP_KEY', imageUrl).then( function (response) { […]

如何防止文件被Multer上传,除非它们是图像?

正如标题所说。 我到处找,找不到答案。 码: var upload = multer({dest:"./public/images/uploads/", limits: {fileSize: 250000}}).single("image"); 问题 如果我select的话,这并不妨碍我上传PDF。

如何在Node.js中使用multer上传文件?

我想用MULTER上传图片。 但它不工作。 这里有什么问题? 这段代码在我的路由文件中。 var multer = require('multer'); var upload = multer({ dest: 'public/uploads/' }); 这是我的邮政路线。 router.post('/addNewFood', upload.single('avatar'),function (req, res, next) { console.log(req.files); });

如何从multer访问上传的文件?

我能够上传一个图像到S3 。 现在,如果select的文件是.gif ,我希望能够将.gif文件转换为.mp4并将转换后的file upload到S3 。 我能够将一个.gif转换为.mp4与ffmpeg只有当我给文件的path。 如何访问Multer上传的文件? 以下是我的代码: var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var aws = require('aws-sdk'); var multer = require('multer'); var multerS3 = require('multer-s3'); var s3 = new aws.S3(); var ffmpeg = require('fluent-ffmpeg'); var upload = multer({ storage: multerS3({ s3: s3, bucket: 'myBucket', key: function (req, […]

如何使用nodejs中的multer将我的file upload到另一台服务器?

var storage = multer.diskStorage({ destination: function (req, file, callback) { callback(null, '/var/www/html'); }, filename: function (req, file, callback) { //console.log(file);return; if (file.mimetype == 'audio/mp3' || file.mimetype == 'audio/wav') { var w = file.originalname; var f = x.substr(0, x.lastIndexOf('.')); callback(null, Date.now()+'-'+w); }else{ var result = new sResultSh.commandResult("Failed","404"); onComplete(result); } }, }); var upload = multer({ storage: […]

快速 – multer fileFiltererror handling

我尝试上传一个文件,上传就OK了! 问题是,当我尝试上传一些不被我接受的文件fileFitler处理。 我想在控制台收到一些错误或将用户redirect到后台页面,但我只是在浏览器上收到错误:无法读取未定义的读取属性文件名。 但是,如果我上传一些被接受的扩展,就行了! 这是我的代码: const mongoose = require('mongoose'); const multer = require('multer'); const uuidV4 = require('uuid/v4'); const Video = require('../models/videoModel'); function fileFilter(req, file, cb){ const extension = file.mimetype.split('/')[0]; if(extension !== 'video'){ return cb(null, false), new Error('Something went wrong'); } cb(null, true); }; var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, './uploads') […]

在S3 API上使用multer上传图片返回undefined

我正在构build一个用于上传图像并将其直接存储在S3存储上的API。 要做到这一点,我使用Postman.Method是POST和inputtypes是file.When我使用req.files或req.file时,我得到未定义。 Utils.js: getS3SignUrl: function( uri ){ return s3_client.getSignedUrl('putObject',{Bucket:config.aws.bucket,Key:uri,ACL :"public-read"}) } 在主文件中我使用这些: var bodyParser = require('body-parser'); var upload = require('multer')(); var utils = require('../service/utils.js'); router.post('/edit-profile', upload.single('newfile'), function(req, res) { console.log(req.file); }); }); 在控制台中,我得到了未定义,但是当我使用debugging器和req.body,我得到这个: 所以,似乎我有这个需求,但是我怎么能从这里拿走呢?

如何用Nodejs和Multer发布图片?

我正在尝试构build一个包含上传文件(如图像)并发布的应用程序。 这是我迄今为止所做的: var express = require('express'); var multer = require('multer'); var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, './public/img'); }, filename: function (req, file, cb){ cb(null, file.originalname + '-' + Date.now()); } }); var upload = multer({storage: storage}); 所以上面的这个代码会把我上传的文件保存在一个名为'img'的文件夹中 module.exports = function(app){ app.get('/', function(req, res){ res.render('index'); }); app.post('/upload', upload.single('file'), function(req, res){ res.send(req.file); […]

节点js接收多个消息参数未定义

我试图上传2个文件到我的节点js服务器。 我使用Muller从请求中接收数据。 这是我的端点: app.post('/testFile', imageUpload.fields([{name:'image',maxCount:1},{name:'image2',maxcount:1}]), function(req, res, next){ res.sendStatus(201); }); 而这正是我设立这个垂体的地方: var somevariable= multer({ storage: multer.diskStorage({ destination: (req, file, callback) => { var x= req.body.x; var y= req.body.y; var path = `./resources/pics/${x}/${y}`; fs.mkdirsSync(path); callback(null, path); }, filename: (req, file, callback) => { callback(null, file.originalname); } }) }); 我有一些奇怪的行为。 如果我处理第一个图像,我收到“未定义”x和y参数。 但是,如果我的过程到达第二个图像,我可以得到在x和yvariables传递的值。 有人可以向我解释为什么会发生这种情况吗?

Multer与Express.js

我在用express.js使用Multer时遇到了一些问题。 所以这工作正常: const multer = require('multer'); let upload = multer({dest: 'uploads/'}); app.post('/upload', upload.single('image'), function (req, res, next) { console.log(req.file) // req.file is the `avatar` file // req.body will hold the text fields, if there were any }); 但是当我尝试这样做, req.file is undefined : const multer = require('multer'); let upload = multer({dest: 'uploads/'}); router.route('/', upload.single('image')) .post(function (req, […]