Tag: multer

如何调整图像大小并使用nodejs中的multer上传到s3并使用easy-image npm模块?

我已经使用下面的代码在nodejs中使用简单的图像npm模块进行图像大小调整。 var easyimg = require('easyimage'); easyimg.rescrop({ src:'1.jpg', dst:'/var/www/html/bangalore.jpg', width:100, height:100 }),function(image,err){ // console.log('Resized and cropped: ' + image.width + ' x ' + image.height); if(image){ console.log(image); } else{ console.log(err); } } 我有成功的输出。 然后,我已经使用下面的代码与multer上传我的图像到s3。 var storage = multerS3({ s3: s3, bucket: 'my_bucket_name', key: function (req, file, cb) { console.log(file); file_name = file.originalname; var newFileName = Date.now() […]

如何使用Angular 2+,Express和nodeJs上传文件

我试图上传一个图像使用Angular 4,节点和Express与Multer库。 这里是我的route.js: const storage = multer.diskStorage({ destination: function(req, file, cb) { cb(null, 'uploads') }, filename: function(req, file, cb) { cb(null, file.fieldname + '-' + Date.now() + '.jpg') } }); const upload = multer({ storage: storage }).single('avatar'); router.post('/upload_avatar', function(req, res) { upload(req, res, function(err) { if (err) { // An error occurred when uploading throw […]

如何将文件从Android上传到node.js服务器

我想通过http从android应用程序发送文件到node.js服务器。 但是,当我收到文件的大小是0字节,虽然我可以读取文件的原始名称。 你知道这里出了什么问题吗? 这是Android的一部分: public class ImageUploader { public static final String HTTP_LOCALHOST_8081_FILE_UPLOAD = "http://192.168.1.104:8081/file_upload"; public void upload(InputStream inputStream, String extension) { AsyncHttpClient asyncHttpClient = new AsyncHttpClient(); RequestParams requestParams = prepareRequestParams(inputStream, extension); asyncHttpClient.post(HTTP_LOCALHOST_8081_FILE_UPLOAD, requestParams, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { } @Override public void onFailure(int statusCode, Header[] headers, […]

Amazon S3 – 编辑上传的图像

概述:我正在使用Amazon S3来让用户上传图片。 我一直在编辑路线,以便用户可以在上传后编辑他们的图像。 我正在通过一个PUT路线来做这件事。 这是我目前的解决scheme。 它可以覆盖当前的图像。 问题:如果用户select零新图像,则会覆盖具有空白文件path的旧图像。 也就是编辑后没有图像显示。 如果用户只尝试编辑一个图像,同样的事情发生,一个图像将更新,但其他图像将被空白文件path覆盖,所以没有图像显示。 问题:让用户使用Amazon S3和Multer-S3编辑图像的正确方法是什么? 谢谢你的帮助! 🙂 app.put("/:id", function(req, res){ upload(req,res,function(err) { if(err) { console.log(err); res.redirect('/') } var filepath = undefined; var filepath2 = undefined; var filepath3 = undefined; if(req.files[0]) { filepath = req.files[0].key; } if(req.files[1]) { filepath2 = req.files[1].key; } if(req.files[2]) { filepath3 = req.files[2].key; } var image […]

Multer数组只返回一个文件

我正在使用multer在数据库中存储多个文件。 这些文件正确地存储在我的数据库,但是,如果我打印req.files我只得到一个文件。 这是我的代码: var storage = GridfsStorage({ url: config.mongo.uri, filename(req, file, cb) { cb(null, file.originalname); }, metadata(req, file, cb) { cb(null, {owner: req.params.driver}) } }); var upload = multer({ storage: storage }).array('files[]'); return upload(req, res, function (err) { if(err) { handleError(err); } console.log(req.files); // –> Getting only one file, even thought it stores all of […]

当试图上传一个文件得到404没有find错误节点js

这是我的代码: angular.module('fileModelDirective',[]) .directive('fileModel',['$parse',function ($parse) { return { restrict: 'A', link: function (scope, element, attrs) { var parsedFile = $parse(attrs.fileModel); var parsedFileSetter = parsedFile.assign; element.bind('change', function () { scope.$apply(function () { parsedFileSetter(scope, element[0].files[0]); }); }); } }; }]); 在服务器上我有: app.post('/upload', function (req, res) { upload(req, res, function (err) { if (err) { if (err.code === 'LIMIT_FILE_SIZE') […]

上传后无法删除文件

我用multer包上传文件。 而且我使用sharp来调整和复制许多文件,所以我不能删除第一个上传文件。 这是我的代码 var multer = require('multer'); var upload = multer({dest: 'upload/'}); app.route('/uploadIcon') .post(upload.single('file'), uploadfunction); function uploadfunction(req, res) { var dir = './app/controllers/configs/' + req.body.domain; if (!fs.existsSync(dir)) { fs.mkdirSync(dir); } if (!fs.existsSync(dir + '/icon.iconset')) { fs.mkdirSync(dir + '/icon.iconset'); } var dir_icon = dir + '/icon.iconset/'; var file = dir + '/icon.iconset/' + 'default.png'; fs.rename(req.file.path, file, […]

如果没有提供文件名,Multer会挂起

我想看看我的服务器是如何运行的,如果我没有提供一个文件名,当上传一个图像,而m只是挂起。 有什么方法让我可以让超时吗? 或在错误的表单上抛出错误? 这很容易造成DoS攻击,这就是我担心的原因。 以下是我发送的多部分头文件,有意省略文件名: String header = "–" + boundary + LINE_FEED + // "Content-Disposition: form-data; name=\"" + field_name + "\"; filename=\"" + "bitmap.jpg" + "\"" + LINE_FEED + "Content-Disposition: form-data; name=\"" + field_name + "\"" + LINE_FEED + "Content-Type: " + content_type + LINE_FEED + "Content-Transfer-Encoding: binary" + LINE_FEED + LINE_FEED; 这是我的服务器代码挂起。 before […]

Node.js TypeError:无法读取未定义的属性“path”

我已经看了很多同样的问题的答案,但我还没有find一个工作的解决scheme。 我试图做一个Web应用程序,您可以上传文件使用快递和MULTER,我有一个问题,没有文件正在上传和REQ.FILE总是未定义。 Express和Mul版本为: "express": "^4.15.4", "multer": "^1.3.0" 我的configure.js看起来这样: multer = require('multer'); module.exports = function(app) { app.use(morgan('dev')); app.use(multer({ dest: path.join(__dirname, 'public/upload/temp')}).single('file')); routes(app); app.use('/public/', express.static(path.join(__dirname, '../public'))); 消费代码如下所示: var tempPath = req.file.path, ext = path.extname(req.file.name).toLowerCase(), targetPath = path.resolve('./public/upload/' + imgUrl + ext); if (ext === '.png' || ext === '.jpg' || ext === '.jpeg' || ext === '.gif') […]

inputtypes字段validation失败时如何停止上传图像?

访问Web服务后,如果validation失败,则上传图像。 我需要控制它。 如果validation成功,则应该上传图像。 我已经在由sequelize创build的模型中定义了validation代码。 如果validation成功,如何防止并上传图像? 型号代码是 name : { type : sequelize.STRING, validate : { notEmpty : {msg : 'The Name is required!'} } }, email : { type : sequelize.STRING, validate : { notEmpty : {msg : 'The email field is required!'}, isEmail : {msg : 'The email format is not correct!'} } }, […]