大佬教程收集整理的这篇文章主要介绍了node.js ucloud ufileutil.js,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
/** * Created by chang on 2017/2/17. */ var request = require('request'); var fs = require('fs'); var crypto = require('crypto'); var utf8 = require('utf8'); var uuidV1 = require('uuid/v1'); var UCloudPublicKey = "todo"; var UCloudPrivateKey = "todo"; var httpVerb = "POST"; var ContentMD5 = ""; var MyDate = ""; var CanonicalizedUCloudHeaders = ""; var bucket = "todo"; function Base64(content) { return new Buffer(content).toString('base64'); } function HmacSha1(secretKey,content) { var hmac = crypto.createHmac('sha1',secretKey); hmac.update(content); return hmac.digest(); } /** * 单文件上传,暂时不支持多文件 * @param fiLeobj * @param res */ function upload(fiLeobj,res) { var key = uuidV1().replace(/-/ig,''); var ContentType = fiLeobj.type; var temp_path = fiLeobj.path; var Canonicalizedresource = "/" + bucket + "/" + key; var StringToSign = httpVerb + "\n" + ContentMD5 + "\n" + ContentType + "\n" + MyDate + "\n" + CanonicalizedUCloudHeaders + Canonicalizedresource; var Signature = Base64(HmacSha1(UCloudPrivateKey,utf8.encode(StringToSign))); var Authorization = "UCloud" + " " + UCloudPublicKey + ":" + Signature; var filename = temp_path.subString(temp_path.lasTindexOf("\\") + 1).subString(temp_path.lasTindexOf("\/") + 1); var formData = { Authorization: Authorization,Filename: key,file: { value: fs.createReadStream(temp_path),options: { filename: filename } } }; var urlstr = 'http://' + bucket + '.ufile.ucloud.com.cn/'; //cdn 跳转地址 request.head = ({'Content-Type': 'application/octet-stream'}); request.post({url: urlstr,formData: formData}).on('response',function (responsE) { if (response.statusCode == 200) { var cdnUrl = urlstr + key; var data = {src:cdnUrl,@R_674_10283@e:filename}; var ret = {Code:0,data:data,msg:'上传成功'}; res.json(ret); }else{ console.log("statusCode is not 200,code:>>" + response.statusCode + ">>statusmessage:>>" + response.statusmessagE); var ret = {Code:1,msg:'上传失败'}; res.json(ret); } }).on("error",function(E){ console.log("this is upload error"); console.log("e:>>" + E); var ret = {Code:1,msg:'上传失败'}; res.json(ret); }); } exportS.Upload = upload;
以上是大佬教程为你收集整理的node.js ucloud ufileutil.js全部内容,希望文章能够帮你解决node.js ucloud ufileutil.js所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。