写在前面
最近在做一个图片分享网站类型的小 demo,我的想法是将用户上传的图片保存到七牛云上,然后将获取的链接存入数据库中。虽然以前写博客一直都是用七牛云来存储配图,但对于如何通过七牛云 JS 的 SDK 来完成上传操作还真是不太了解。在看了官网的教程后,有一些地方不是很明确,查了一些资料,所以总结一下前端如何通过 js 上传图片到七牛云。
官方文档
概述
Qiniu-JavaScript-SDK (下文简称为 JS-SDK)适用于 IE8+、Chrome、Firefox、Safari 等浏览器,基于七牛云存储官方 API 构建,其中上传功能基于 Plupload 插件封装。开发者基于 JS-SDK 可以方便的从浏览器端上传文件至七牛云存储,并对上传成功后的图片进行丰富的数据处理操作。
安装
因为七牛云的 JS-SDK 是基于 Plupload 插件封装的,所以我们需要在引入七牛云的 js 依赖文件前,引入 Plupload 的相关 js 依赖文件。我这里介绍使用 NPM 安装的方法。
Plupload 下载
1
npm install Plupload --save-dev
qiniu-js 下载
1
npm install qiniu-js --save-dev
使用
在使用前我们需要在页面里引入相应的 js 依赖文件。
- 在页面中引入 plupload,plupload.full.min.js(生产环境)或 引入 plupload.dev.js 和 moxie.js(开发调试)。这些 js 文件可在 node_modules 文件夹下的 plupload 的文件夹中找到。
- 在页面中引入 qiniu.min.js(生产环境)或 qiniu.js(开发调试)这些 js 文件可在 node_modules 文件夹下的 qiniu-js 的文件夹中找到。
例如
1 | //import js 具体路径可能会不同 |
然后需要在页面中初始化 uploader,如下:
1 | var uploader = Qiniu.uploader({ |
以上 uploader 的配置适用于单文件上传的情况。相信小伙伴们看完都有一个疑惑,什么是 uptoken 呢? uptoken 是 我们图片上传的上传凭证,它会根据你的 Access Key 和 Secret Key 还有你上传图片到的存储空间 bucket 来生成(最基本的三项)。那么怎么生成 uptoken 呢?这当然不是由我们前端自己来生成的,这个时候就需要我们后端的小伙伴来帮帮忙了。具体可以参考我的另一篇博客,通过 java 生成七牛云 uptoken。
写在最后
关于七牛云上传组件的用法还有很多,如对上传的图片生成水印等,大家可以好好参考一下官方文档。我总结的只是一些最简单的用法,目前我的小 demo 只需要用到这一些,以后有需要再继续拓展 :)
本篇文章纯属于个人的学习总结,如果文章中出现错误或不严谨的地方,希望大家能够指出,谢谢!