[toc]本文仅适用于最新的七牛sdk开发中的0.4.6node开发。详细关注:https://github.com/tstrilogy/...在网上找了很多关于七牛云存储的博文,自己也百度了很多。但都不尽如人意,所以我自己举了个小例子。1-Preparation确认安装node和npminstallqiniu,formidable,expressmodulenpminstall--saveqiniuformidable[x]importmoduleletqiniu=require('qiniu'),formidable=require('formidable'),express=require('express'),路由器=express.Router();2-服务器端云存储操作2-1文件上传router.post('/qiniu',function(req,res,next){letbucket='myblog',key='',form=formidable.IncomingForm(),token,putPolicy;form.uploadDir=path.join(__dirname,'../../','public/img/upload');form.keepExtensions=trueform.parse(req,function(err,fields,files){if(err){console.log(err);}key=files.mypic.path.split(path.sep).pop();putPolicy=newqiniu.rs.PutPolicy(bucket+':'+key)//设置回调//putPolicy.callbackUrl='http://localhost:81/test/callback'//putPolicy.callbackBody='filename=$(fname)&filesize=$(fsize)'token=putPolicy.token()console.log('token',token)letextra=newqiniu.io.PutExtra()qiniu.io.putFile(token,key,files.mypic.path,extra,function(err,ret){if(err){console.log(err)}console.log('ret',ret);res.json({token:token,ret:ret,files:files,fields:fields})})})})文件下载router.get('/download/:key',function(req,res,next){leturl='http://xxxx.bkt.clouddn.com/'+req.params.key,policy=newqiniu.rs.GetPolicy();console.log(url);res.json({url:policy.makeRequest(url)})})文件获取router.get('/info/:key',function(req,res,next){letbucket='myblog',key=req.params.key,client=newqiniu.rs.Client();client.stat(bucket,key,(err,ret)=>{if(err){console.log(err);}res.json(ret);})})
