Tag: 上传

处理PLUpload上传与node.js

我正在尝试在node.js中创build服务器端上传组件,但是我无法解释从PLUpload发送的信息。 从我所知道的来说,PLUpload(以HTML5模式)发送文件作为二进制信息,这为node.js包创build了问题,我一直试图使用到目前为止(node-formidable和node-express),因为他们期望正常HTML上传与多部分内容types。 对于它的价值,这是我一直在尝试使用的代码… var formidable = require('formidable'); var sys = require('sys'); http.createServer( function( req, res ){ console.log('request detected'); if( req.url == '/upload/' ){ console.log('request processing'); var form = new formidable.IncomingForm(); form.parse( req, function( err, fields, files ){ res.writeHead( 200, { 'Access-Control-Allow-Origin': 'http://tksync.com', 'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE', 'Access-Control-Allow-Headers': '*', 'content-type': 'text/plain' }); res.write('received upload:\n'); res.end(sys.inspect({ fields: fields, files: […]

NodeJS Web应用程序file upload文件开始

我正在从事一个涉及file upload的NodeJS项目。 上传在客户端完成,代码如下: $('#file-upload').bind('change focus click', function() { var file = jQuery(this)[0].files[0]; if (file && file.fileName) { var xhr = new XMLHttpRequest(); xhr.upload.addEventListener('progress', onProgressHandler, false); xhr.upload.addEventListener('load', transferComplete, false); xhr.open('POST', '/upload', true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('X-File-Name', encodeURIComponent(file.fileName)); xhr.setRequestHeader('Content-Type', 'application/octet-stream'); xhr.send(file); function onProgressHandler(evt) { var percentage = event.loaded/event.total*100; console.log(percentage); } function transferComplete(evt) { console.log('Done'); } } }); 而在服务器端,我使用: […]

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)。