这周是让我最难忘的一周,负责了一个需要上传图片的项目,但是公司的服务器用来存储图片是不太靠谱的。所以遵照同事之前在项目中的技术方案,也用了七牛云作为存储图片的存储空间。
首先,在使用七牛之前一定要根据版本来使用,因为同事写的七牛已经是有一段时间的了,所以在我给node项目装七牛的时候,想直接使用他们的代码,但在调试的过程中发现已经不能适用了。
npm install qiniu (适用 v7.2.1版本)
所以就只能我自己来手写一个新的上传图片的工具,下面是代码。
实现上传到七牛的有三个步骤:
1、将这个key 与 accessKey 与 secretKey 作为鉴权获得一个mac
2、获取文件的文件名作为一个key,并通过 mac 获得对应文件的token
3、将这个token与 上传的文件名,与路径 作为 数据 调用七牛提供的API (这时成功的话七牛会返回一个 hash 和 一个key,并且文件已经上传到七牛了, 凭借七牛提供的 domain 就可以获得文件的url)
以下是我的代码, 已经做过封装了(抱歉这个星期加班了五天,不能仔细解释代码, 今晚就这样)
var qiniu = require("qiniu");
var qiniuConfig = new qiniu.conf.Config();
var fs = require('fs');
// 空间对应的机房
qiniuConfi