Tag: file upload

用nodejs和连接forms上传文件

我已经按照快速多部分示例上传文件到服务器,它工作正常。 但是,如果我使用这样的路由中间件(coffeescript): loadUser = (req, res, next) -> if req.session.user_id? db.user.findById req.session.user_id, (err, user) -> if user? req.currentUser = user next() else next() else next() app.post '/file',loadUser, (req, res) -> req.form.complete (err, fields, files) -> if (err) console.error err else console.log '\nuploaded %s to %s', files.image.filename, files.image.path req.form.on 'progress', (bytesReceived, bytesExpected) -> percent = (bytesReceived […]

上传非常大的文件(5GB到15GB)

我试图找出不同的方式来实现非常大的file upload/下载。 我是新来的node.js,它看起来可能是我的问题的答案,但在潜水之前,我需要确保这种方式,我可以pipe理file upload(5至15 Gb)没有任何内存问题或类似的。 我可以考虑使用PHP /ruby或.net作为技术(我不太了解node.js,但如果它的工作,我会学习足够解决我的问题)。 你的意见/经验是什么? 谢谢

file upload没有库

我正在寻找如何仅使用Node.js上传文件。 我得到的每一个教程或例子都使用强大的或快速的。 但是我想要一个没有使用任何库的例子。 当我上传一个文件,我得到这个请求数据: { post: { '——WebKitFormBoundarySUszotMiE1sXRapA\r\nContent-Disposition: form-data; name': '"file"; filename="img not found.png"\r\nContent-Type: image/png\r\n\r\n PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0014\b\u0002\u0000\u0000\u0000\u000f \u001d\u0000\u0000\u0000\u0019tEXtSoftware\u0000Adobe ImageReadyq e<\u0000\u0000\u0003$iTXtXML:com.adobe.xmp\u0000\u0000\u0000\u0000\u0000<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CS6 (Macintosh)" xmpMM:InstanceID="xmp.iid:51B0B079D16D11E1800BF631A3922565" xmpMM:DocumentID="xmp.did:51B0B07AD16D11E1800BF631A3922565"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:51B0B077D16D11E1800BF631A3922565" stRef:documentID="xmp.did:51B0B078D16D11E1800BF631A3922565"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?> \u0003 \u0006\u0000\u0000\u0000 IDATxڔ \u0001\u000e […]

如何测量被socket.io内部传输的数据大小

我们知道socket.io不会传输二进制文件。 当我们通过socket.io发送二进制(二进制string)数据时,它会转义并发送给服务器。 我需要多less大小这样的方式添加到二进制string的实际大小,并比较它和base64编码的string大小。 我正在做的是使用socket.io上传文件,我见过很多base64的例子,增加了大约33%的文件大小。 我正在寻找一种安全的方式来上传由socket.io支持的所有浏览器支持的文件,而不会增加大的尺寸。 我知道Websockets传输二进制文件,但问题是与IE8 IE9。 因此,我正在研究二进制string传输。 谢谢

当PassPhrase相同时,需要SJCL做相同的encryption的AES 256输出

我正在使用Node.js上传在客户端encryption的文件,并使用SJCL(Stanford Javascript Crypto Library)来使用Javascriptencryption文件。 但是我注意到,即使使用相同的PassPhrase,输出或encryption的结果也是不同的。 经过几次研究之后,我发现这是因为盐每次都是随机的,我需要做一个“nosalt”(对不起,我对这里的所有东西都是新的,cryptographie,Node.js) 每次密码相同时,如何更改我的代码(或SJCL代码)以生成确切的encryption输出。 我的应用程序基于“Cryptloader”项目,你可以在这里find它: https : //github.com/Kryil/Cryptloader encryption: var part = file_queue[data["id"]].slice(start, end) var reader = new FileReader() reader.onload = function(e) { var passwd = document.getElementById("password").value console.log("Uploading arraybuffer of size " + e.target.result.byteLength) var i32a = new Int32Array(e.target.result) var out = i32a.toJSONArray() console.log("crypting: " + out) var crypted = sjcl.encrypt(passwd, out) […]

用快递上传文件

我正在试图使一个简单的文件服务器能够使用快速保存文件: var app = express(); app.use(express.bodyParser({uploadDir:'./uploads'})) app.post('/upload', function(req, res, next) { console.log("Uploading File"); req.on('data', function(raw) { console.log('received data: ' + raw); }); req.on('end', function() { console.log('File uploaded'); res.send(200); }); }); 我只是在“上传”文件夹中获得一个空文件。 我错过了什么? 也许是一个非常愚蠢的问题,但我是新的node.js。 编辑 :更多信息… 我从我的客户发送这个: POST /upload HTTP/1.1 Connection: Close Content-Length: 42 Content-Type: multipart/form-data; boundary="MIME_boundary_572B1A2B457D3267" Cookie: session.id=b268b12e-0c05-11e3-8702-7a7919510927 Host: localhost:8080 Transfer-Encoding: chunked Client 3 Received […]

如何使用express.bodyParser获取文件名

当我使用这个模块app.use(express.bodyParser({ keepExtensions: true, uploadDir: __dirname + "/public/adminupload" })); 。我的file upload到__dirname + "/public/adminupload"目录,但文件名随机更改,新名称与req.files.file.name不同。 那么我怎样才能得到新的名字?

使用Express上传文件(node.js)

我试图做一个非常简单的file upload服务器node.js和expression4.0.0。 根据http://howtonode.org/really-simple-file-uploads我想我应该得到“req.files”,但它不存在(是未定义的)。 var express = require('express') var fs = require('fs') var app = express() app.get('/', sendForm) app.post('/upload', uploadFile) app.listen(8000) function sendForm(req, res) { // a form with a <input type="file"> res.send('<!doctype html><html><head></head><body><form action=\"/upload\" method=\"post\" enctype=\"multipart/form-data\"><input type=\"file\" name=\"displayImage\"><button type=\"submit\">submit</button></form></body></html>') } function uploadFile(req, res) { console.log(req.files) // prints undefined res.redirect('back') } 有些网站build议添加“app.use(bodyParser)”,并通过“app.configure()”来调用。 据我所知,“app.configure”已经从express 4.0.0中删除。 为什么不req.files存在?

NodeJS:处理file upload的问题

我不知道该写什么标题,因为我有一个很奇怪的问题。 我想要做的是上传并保存* .html文件在服务器上。 以下是代码结构: 玉模板(表格): #template-uploader form(enctype='multipart/form-data') input(name='file', type='file') input#upload-template(type='button', value='Upload') JS(表单处理): //Upload Btn Click Event Handler $('#upload-template').on('click', function(){ event.stopPropagation(); event.preventDefault(); uploadFiles(); }); // Upload the files using AJAX function uploadFiles() { var formData = $('input[type=file]')[0].files; $.ajax({ url: 'template/upload', type: 'POST', xhr: function() { // Custom XMLHttpRequest var myXhr = $.ajaxSettings.xhr(); if(myXhr.upload){ // For handling […]

Node.js和请求模块:从可读stream开始上传

当用户上传我的node.js服务器上的文件时,我需要将相同的file upload到另一台服务器。 我想知道是否可以开始发送上传的部分到第二台服务器,而不必等待文件已经完整地上传到我的node.js服务器。 我正在使用请求模块https://github.com/mikeal/request上传到第二台服务器。 下面的代码等待,直到用户完成他的上传,然后再开始第二次上传(虽然我不是100%确定的): app.post('/upload', function(req, res, next){ fs.readFile(req.files.file.path, function (err, data) { var newName = moment().format('YYYYMMDDHHmmss') + "_" + (Math.floor(Math.random() * (10000 – 0) + 0)); var name = newName + "." + req.files.file.extension; var newPath = "public/uploads/"+name; fs.writeFile(newPath, data, function (err) { if (err) { throw err; res.send("error"); } fs.unlink(req.files.file.path, function (err) […]