原生nodejs如何上传图片

var http=require('http')
var fs=require('fs')
// formidable是nodejs中用来上传图片的模块
var formidable=require('formidable')
// path是路径模块
var path=require('path')

http.createServer(function(req,res){
	// 如果请求的方法为post (在form中的method='post')
if(req.method.toLowerCase()=='post'){
	var form=formidable.IncomingForm();
	// 设置上传之后图片的地址 这个文件夹要提前创好,否则报错
	form.uploadDir='./uploadImg'
	form.parse(req,function(err,fields,files){
		// 图片的所有信息都在这个 files 中,console.log可以查看
		// console.log(files)
		if(err){
			throw err
		}
			// 原名字
			// __dirname 是node的一个全局变量,获得当前文件所在目录的完整目录名
		var oldpath= __dirname+"/"+files.pic.path   
		// 时间戳
		var time= +new Date()
	  // 随机数
		var random=parseInt(Math.random()*10000)
		// 图片拓展名 .JPG .png
		var extname=path.extname(files.pic.name)
			// 新的文件名=__dirname+存放上传图片的文件夹地址+时间戳+随机数+后缀名
		var newpath=__dirname + '/uploadImg/'+	time + random +extname
console.log(newpath)
		fs.rename(oldpath,newpath,function(err){
			if(err){
				throw Error("false")

			}
			res.end("success")
		})

	})
}


}).listen(3000,'127.0.0.1')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值