分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

nodejs 文件上传

发布时间:2023-09-06 01:06责任编辑:胡小海关键词:jsnodejs文件上传

方法一:---------支持中文,图片显示------------
//-------文件上传------
?router.post(‘/imgupload‘,function(req,res){
?//-----------------------------------------
var form = new multiparty.Form();
???//设置编辑
???form.encoding = ‘utf-8‘;
???//设置文件存储路径
???form.uploadDir = "./uploads/";
???//设置单文件大小限制
???form.maxFilesSize = 2 * 1024 * 1024;
???//form.maxFields = 1000; ?设置所以文件的大小总和
???
???form.parse(req, function(err, fields, files) {

for(var key in files){
console.log(key+‘==‘+files[key]);
for(var kk in files[key][0].headers){
console.log(kk+‘===‘+files[key][0].headers[kk]);
}
}
file1 = files[‘myimg‘];
paraname = file1[0].fieldName; ?//参数名myimg
originalFilename = file1[0].originalFilename; //原始文件名
tmpPath = file1[0].path;//uploads\mrecQCv2cGlZbj-UMjNyw_Bz.txt
fileSize = file1[0].size; //文件大小

var timestamp=new Date().getTime(); //获取当前时间戳
newPath= ‘./public/images/‘+timestamp+originalFilename;

var fileReadStream = fs.createReadStream(tmpPath);
var fileWriteStream = fs.createWriteStream(newPath);
fileReadStream.pipe(fileWriteStream); //管道流
fileWriteStream.on(‘close‘,function(){
?console.log(‘copy over‘); ?
});
/*
function writeFile(data){
fs.writeFile(newPath,data,function(error){
if(error){
throw error;
}else{
console.log("文件已保存");
} ??
});
}
fs.readFile(tmpPath,‘ascii‘,function(err, data) {
if (err) {
console.log("读取失败");
} else {
writeFile(data);
}
});
*/

???????//重命名为真实文件名
/*
???????fs.rename(tmpPath, newPath, function(err) {
????????if(err){
??????????console.log(‘rename error: ‘ + err);
?????????} else {
???????????console.log(‘rename ok‘);
????????}
??????});
??*/
?????//删除临时文件夹中的文件
?//fs.unlinkSync(tmpPath);
?
???});
?//-----------------------------------------
res.send(‘上传完成‘);
?});

方法二:
//----------有中文问题,图片显示不出来-----------
//-------文件上传------
?router.post(‘/imgupload‘,function(req,res){
?//-----------------------------------------
var form = new multiparty.Form();
???//设置编辑
???form.encoding = ‘utf-8‘;
???//设置文件存储路径
???form.uploadDir = "./uploads/";
???//设置单文件大小限制
???form.maxFilesSize = 2 * 1024 * 1024;
???//form.maxFields = 1000; ?设置所以文件的大小总和
???
???form.parse(req, function(err, fields, files) {

for(var key in files){
console.log(key+‘==‘+files[key]);
for(var kk in files[key][0].headers){
console.log(kk+‘===‘+files[key][0].headers[kk]);
}
}
file1 = files[‘myimg‘];
paraname = file1[0].fieldName; ?//参数名myimg
originalFilename = file1[0].originalFilename; //原始文件名
tmpPath = file1[0].path;//uploads\mrecQCv2cGlZbj-UMjNyw_Bz.txt
fileSize = file1[0].size; //文件大小

var timestamp=new Date().getTime(); //获取当前时间戳
newPath= ‘./public/images/‘+timestamp+originalFilename;

function writeFile(data){
fs.writeFile(newPath,data,function(error){
if(error){
throw error;
}else{
console.log("文件已保存");
} ??
});
}
fs.readFile(tmpPath,‘ascii‘,function(err, data) {
if (err) {
console.log("读取失败");
} else {
writeFile(data);
}
});

???????//重命名为真实文件名
/*
???????fs.rename(tmpPath, newPath, function(err) {
????????if(err){
??????????console.log(‘rename error: ‘ + err);
?????????} else {
???????????console.log(‘rename ok‘);
????????}
??????});
??*/
?????//删除临时文件夹中的文件
?//fs.unlinkSync(tmpPath);
?
???});
?//-----------------------------------------
res.send(‘上传完成‘);
?});

nodejs 文件上传

原文地址:http://www.cnblogs.com/yu-hailong/p/7439871.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved