Articles of 上传

Node.js和Multer – 在callback函数(req,res)中处理上传文件的目的地

我在Node.js是一个新手,最近我遇到了一个非常简单的问题。 我正在使用一个名为multer的模块,所以用户可以上传图片。 在我的networking应用程序中,所有的用户都有一个唯一的ID,我希望上传的图像被存储在一个根据他们的ID命名的目录中。 例: .public/uploads/3454367856437534 这是我的routes.js文件的一部分: // load multer to handle image uploads var multer = require('multer'); var saveDir = multer({ dest: './public/uploads/' + req.user._id, //error, we can not access this id from here onFileUploadStart: function (file) { return utils.validateImage(file); //validates the image file type } }); module.exports = function(app, passport) { app.post('/', saveDir, function(req, […]

使用Multer将图像上传到Express

我正在尝试将图像上传到Express服务器。 我不完全确定如何做到这一点,但是我从我能从MDN拿到的东西中得到了什么, express , react-dropzone multer react-dropzone和multer文档。 Multer似乎没有从react-dropzone拿起FormData对象,注销req.file它返回undefined。 server.js var storage = multer.diskStorage({ destination: './public/users', filename: function (req, file, cb) { switch (file.mimetype) { case 'image/jpeg': ext = '.jpeg'; break; case 'image/png': ext = '.png'; break; } cb(null, file.originalname + ext); } }); var upload = multer({storage: storage}); app.use(upload.single('photo')); app.post('/uploadUserImage', function (req, res) { console.log(JSON.stringify(req.body.photo)) […]

Node.js Busboy分离字段和文件

我想知道是否有可能让Busboy分别parsing字段和文件。 (我已经删除了bodyParser因为你可以很容易地用临时文件填充硬盘。) 例如 – parsing器发布字段的中间件(用于所有POST请求) if (req.method === 'POST') { var form = new busboy({ headers: req.headers, limit: { files: 0 } }); form.on('field', function (fieldname, val, valTruncated, keyTruncated) { req.params.body[fieldname] = val; }); form.on('finish', function () { next(); }); return req.pipe(form); } else { next(); } 然后在上传页面使用以下,它使用Busboy获取张贴的文件。 app.post('/fm/file/upload/:folder', function (req, res) { var isFrame […]

在Node.js上上传二进制文件

我正在使用Flashloggingaudio并将其上传到节点服务器。 Flash客户端是jrecorder的变体。 当用户完成录制时,使用POST请求(不是表单,因为Flash不能创build文件)使用audioByteArray作为POST请求的数据(请参阅此处更多信息 )上传audio。 我能够使用下面的代码在Node-land上正确接收文件,但是出来的audio被破坏,你什么都听不到。 这样说,文件的内容可以播放VLC和其他播放器+ Sox能够编码为MP3。 这是我使用Node时的代码: var express = require('express'); var app = express(); app.use (function(req, res, next) { req.rawBody = ''; req.setEncoding('utf8'); if(req.method.toLowerCase() == "post") { req.on('data', function(chunk) { req.rawBody += chunk }); req.on('end', function() { done(req, res); }); } next(); }); function done(req, res) { fs.writeFile('abc.wav', req.rawBody, 'binary', function(err){ if (err) […]

LoopBack存储服务,直接上传(无需请求对象)

我想使用Loopback存储服务将file upload到存储容器。 但.upload()方法需要一个请求对象。 但是如果我想上传一个不是来自提交表单的现有文件? 我是否需要伪造POST请求才能使上传处理程序高兴? 似乎必须有更好的方法。

在express.js中,req.files是未定义的

我尝试上传一个PNG到我的node.js服务器,但每次调用req.files.avatar ,都会出现一个错误,并说TypeError: Cannot read property 'avatar' of undefined 。

使用Multer重命名上传的文件不起作用(Express.js)

我正尝试使用Express.js和Multer从HTML表单上传文件。 我设法将文件保存到所需的位置(一个名为uploads的文件夹)。 不过,我想重新命名文件,同时上传它,因为默认情况下,Multer给它一个奇怪的名字,如: 5257ee6b035926ca99923297c224a1bb 可能是一个hex时间戳,但我需要一个更明确的名字,以便稍后调用脚本。 我按照这里find的解释,但它没有做任何比以前更多的事情:上传带有hexa名称的文件。 此外,两个事件onFileUploadStart和onFileUploadComplete似乎从来没有被触发,因为我没有得到任何logging在我的控制台。 我为服务器和路由使用了两个单独的文件: app.js /** * Dependencies */ var express = require('express'); var path = require('path'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); /** * Importation of routes */ var routes = require('./routes/index'); var recog = require('./routes/recog'); /** * Express */ var app = express(); […]

如何限制node.js中服务器的上传速度?

如何限制node.js中服务器的上传速度? 这甚至是一个select? 情景:我正在编写一些方法来允许用户自动将file upload到我的服务器。 我想限制上传速度(例如)50kB / s(当然可configuration)。

如何使用进度条快速上传大文件?

目前我正在使用socket.io上传video进度条。 这里是教程 http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-resumable-video-uploade-in-node-js/ 但Internet Explorer不支持这种方法,但我真的需要在所有浏览器上传video。 我检查了快递文件。 由于express是基于node-formidable (有一个进度事件),所以我觉得有办法build立一个带有进度条的上传系统,对不对? 我只是不知道如何! 节点强大的IE启用的权利? 任何方式都可以build立一个file upload系统在纯espress.js与进度条?

在客户端压缩大文件(> 2GB)到ZIP

我build立一个上传工具,使用node.js和socket.io ,因为他们通常上传难以置信的巨大的文件和正常的上传forms将无法正常工作。 问题是,他们想在发送文件之前压缩文件,以提高传输效率。 我一直在研究像JSZip或zip.js这样的压缩方法,但是对于非常大的文件,这两种方法都不能很好地工作。 我能做什么?