表达强大的句柄文件
express formidable handle files
我需要解压上传的文件 有人有什么想法吗?下面的代码处理与 ajax 一起使用的上传部分。
主要想法是让文件上传器在仅上传 ZIP 文件后通过创建与 zip 文件、文件夹相同的名称并将所有内容解压缩到该文件夹来解压缩文件。
我也通过 html 只接受 zip 文件,但它似乎不是 accept=".zip, .tar.gz, .rar"
的正确解决方案,因为它可以很容易地删除此限制并上传您想要的任何内容。是否有任何其他解决方案可以限制仅上传 zip 文件?
var express = require('express');
var app = express();
var path = require('path');
var formidable = require('formidable');
var fs = require('fs');
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', function(req, res){
res.sendFile(path.join(__dirname, 'public/views/index.html'));
});
app.post('/uploads', function(req, res){
var form = new formidable.IncomingForm();
form.multiples = true;
form.uploadDir = path.join(__dirname, '/uploads');
form.on('file', function(field, file) {
fs.rename(file.path, path.join(form.uploadDir, file.name));
});
form.on('error', function(err) {
console.log('An error has occured: \n' + err);
});
form.on('end', function() {
res.end('success');
});
form.parse(req);
});
var server = app.listen(3000, function(){
console.log('Server listening on port 3000');
});
这是一个库,如果有人 运行 和我一样遇到同样的问题,您可以将其合并到代码中
我需要解压上传的文件 有人有什么想法吗?下面的代码处理与 ajax 一起使用的上传部分。 主要想法是让文件上传器在仅上传 ZIP 文件后通过创建与 zip 文件、文件夹相同的名称并将所有内容解压缩到该文件夹来解压缩文件。
我也通过 html 只接受 zip 文件,但它似乎不是 accept=".zip, .tar.gz, .rar"
的正确解决方案,因为它可以很容易地删除此限制并上传您想要的任何内容。是否有任何其他解决方案可以限制仅上传 zip 文件?
var express = require('express');
var app = express();
var path = require('path');
var formidable = require('formidable');
var fs = require('fs');
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', function(req, res){
res.sendFile(path.join(__dirname, 'public/views/index.html'));
});
app.post('/uploads', function(req, res){
var form = new formidable.IncomingForm();
form.multiples = true;
form.uploadDir = path.join(__dirname, '/uploads');
form.on('file', function(field, file) {
fs.rename(file.path, path.join(form.uploadDir, file.name));
});
form.on('error', function(err) {
console.log('An error has occured: \n' + err);
});
form.on('end', function() {
res.end('success');
});
form.parse(req);
});
var server = app.listen(3000, function(){
console.log('Server listening on port 3000');
});
这是一个库,如果有人 运行 和我一样遇到同样的问题,您可以将其合并到代码中