欢迎访问自动发外链网站,大量seo自动发布外链工具与案例

节点实现上传文件(视频,图片,音乐)到七个牛云存储。

作者:jcmp      发布时间:2021-04-24      浏览量:0
要求:节点实现将文件(视频、图片、音乐)

要求:节点实现将文件(视频、图片、音乐)上传到七个牛云存储区。您需要使用的模块,cnpm安装QINIU-保存cnpm安装强大的保存,确保安装是成功的。

1.在该项目中创建一个新的qiniuConfig.js文件如下:let config={};config.access Key=‘dfFixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,≤1/Vqwa;//QINIU的SK.bucket=’visual planl‘;/2.然后在项目内部构建一个qiuniu.js,文件的内容如下所示,可以直接复制,注意文件引入的路径:让QINIU=需要量(‘QINIU’);让强大=要求(‘强大’);让吐露=要求(‘’)。/config/qiniuConfig‘);让qn={};//上传的空间让桶=信任。//七牛云存储的存储空间名//构建上传策略函数(获取七牛上传令牌)qn.upToken=function(Bucket){var putPolicy=新的qiniu.rs.putPolicy({Scope:bucket});var AccessKey=configs.AccessKey;Increvar Key=configs.hinkeey;var Mac=新的qiniu.auth.digest.mac(access key,秘Key);var上载adToken=putPolicy.upadToken(Mac);返回upupadToken;}qn.upImg=function(req,回调){let callbackObj={};//回调函数var form=newformidable.incomingForm()返回的对象;//CreateUpload Form.form.code=‘utf-8’;//set编辑/form.upadDir=‘./。/upploadimg‘//set上载目录设置将存储在中央控制服务器上,不要设置要上载到秋牛的临时文件,因此不要设置form.memextentions=true;//reretainemixform.maxFieldsSize=5*1024*1024;//文件大小5m错误413上载文件是太大的表单。解析(req,函数(err,字段,文件){if(Err){//res.locals.ror=err;callbackObj.Status=1;callbackObj.msg=err;控制台.log(‘err=’,err);返回回调(CallbackObj);}控制台日志(files.file.path);//上传到Qiniang后保存的文件名为let key=newdate()。GetTime();//生成本地路径以上载令牌let Token=qn.upToken(桶);//上传文件让filePath=files.file.path//如果表单的数据提交存储在字段中,则图片文件提交将存储在文件中。File意味着前端设置输入的名称通常被设置为file//structure上载函数//file上载(以下四行代码是配置设置)var config=newqiniu.config();config.zone=qiniu.zone.zone_z0用于QINIU上载文件。//设置传输室的位置,并选择var formUploader=新的QINIU。准备好。根据您自己的设置sFormUploader(Config);var putExtra=新的qiniu.form_up.PutExtra();formUploader.putFile(令牌、键、文件路径、putExtra、Function(Reserr、ResepBody、ResInfo)){if(ResepErr){callbackObj.Status=1;callbackObj.msg=reserr;返回回调(CallbackObj);}if(Info.statusCode==200){//SUPATE CONER.log(ResBody);//Output JSON格式xxx填写自己的自定义域名var Response={“url”:‘http://’+configs.url+‘/’+key}控制台.log(响应);//res.end(响应);callbackObj.Status=0;callbackObj.data=Response;返回回调(CallbackObj);{//上传失败控制台.log(ResInfo.statusCode);sole.log(ResepBody);callbackObj.status=1;callbackObj。返回回调(CallbackObj);}};});}//控制台.log(qn.upToken(Bucket));module.exports=qn;3.然后创建一个新的upad.js,如下所示:var Express=Required(‘Express’);//Introduction Express路由器var=press.Rout();//定义路由级别的中间件让qn=需方(‘)。/QINIU‘)//结果包装函数让结果=函数(obj,bool){if(Bool){返回{状态:0,数据:obj};}{返回{状态:1,数据:obj};}//上传接口router.post(“/upImg”),函数(req,routerRes){qn.upImg(req,function(Res){//sole.log(‘res’,res);if(res.state==0){routerRes.json(结果(res.data,true));{routerRes.json(结果(res.msg,false);});})module.export=路由器;4。最后,不要忘记引入var Upload=Required(“)。)在app.js中;app.use(‘/api’,上载)5。所以我的界面是,‘http://localhost:5000/api/upImg`像这样返回![Image.png](https://upload-images.jianshu.io/upload_images/14379901-dab517962a149f52.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)7牛云后台是这样的:![Image.png](https://upload-images.jianshu.io/upload_images/14379901-e99e6a64e8e2184a.png)?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)6.学习交流1115009958备注;前端学习交流。