七牛云存储html内容,集成七牛云存储

wangEditor编辑器从`v2.0.14`版本开始,将支持使用[七牛云存储](http://www.qiniu.com/)上传图片。

但是,在使用编辑器集成七牛云存储之前,还需要阅读[七牛云存储javascript sdk](http://developer.qiniu.com/code/v6/sdk/javascript.html)的文档,来了解七牛云存储js sdk的使用方法。否则也无法顺利使用。

----

**本地运行一个wangEditor上传七牛的demo**

作者在github专门fork了[七牛官网js-sdk的demo](https://github.com/qiniu/js-sdk),然后通过修改,制作了一个[wangEditor上传七牛的demo](https://github.com/wangfupeng1988/js-sdk),点击[这里](https://github.com/wangfupeng1988/js-sdk#3-本地运行这个demo),可以看到如何在本地运行这个demo。

---

**代码演示**

以下代码将演示如何在wangEditor中使用七牛云存储,注意看代码中的注释。详细的代码,可去[https://github.com/wangfupeng1988/js-sdk/blob/master/demo/views/wangEditor.html](https://github.com/wangfupeng1988/js-sdk/blob/master/demo/views/wangEditor.html)查看。

```html

请输入内容...

// 封装 console.log 函数

function printLog(title, info) {

window.console && console.log(title, info);

}

// 初始化七牛上传

function uploadInit() {

// this 即 editor 对象

var editor = this;

// 触发选择文件的按钮的id

var btnId = editor.customUploadBtnId;

// 触发选择文件的按钮的父容器的id

var containerId = editor.customUploadContainerId;

// 创建上传对象

var uploader = Qiniu.uploader({

runtimes: 'html5,flash,html4', //上传模式,依次退化

browse_button: btnId, //上传选择的点选按钮,**必需**

uptoken_url: '/uptoken',

//Ajax请求upToken的Url,**强烈建议设置**(服务端提供)

// uptoken : '',

//若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成

// unique_names: true,

// 默认 false,key为文件名。若开启该选项,SDK会为每个文件自动生成key(文件名)

// save_key: true,

// 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK在前端将不对key进行任何处理

domain: 'http://xxx.xxx.xxx.xxx.clouddn.com/',

//bucket 域名,下载资源时用到,**必需**

container: containerId, //上传区域DOM ID,默认是browser_button的父元素,

max_file_size: '100mb', //最大文件体积限制

flash_swf_url: '../js/plupload/Moxie.swf', //引入flash,相对路径

filters: {

mime_types: [

//只允许上传图片文件 (注意,extensions中,逗号后面不要加空格)

{ title: "图片文件", extensions: "jpg,gif,png,bmp" }

]

},

max_retries: 3, //上传失败最大重试次数

dragdrop: true, //开启可拖曳上传

drop_element: 'editor-container', //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传

chunk_size: '4mb', //分块上传时,每片的体积

auto_start: true, //选择文件后自动上传,若关闭需要自己绑定事件触发上传

init: {

'FilesAdded': function(up, files) {

plupload.each(files, function(file) {

// 文件添加进队列后,处理相关的事情

printLog('on FilesAdded');

});

},

'BeforeUpload': function(up, file) {

// 每个文件上传前,处理相关的事情

printLog('on BeforeUpload');

},

'UploadProgress': function(up, file) {

// 显示进度条

editor.showUploadProgress(file.percent);

},

'FileUploaded': function(up, file, info) {

// 每个文件上传成功后,处理相关的事情

// 其中 info 是文件上传成功后,服务端返回的json,形式如

// {

// "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",

// "key": "gogopher.jpg"

// }

printLog(info);

// 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html

var domain = up.getOption('domain');

var res = $.parseJSON(info);

var sourceLink = domain + res.key; //获取上传成功后的文件的Url

printLog(sourceLink);

// 插入图片到editor

editor.command(null, 'insertHtml', ''%20+%20sourceLink%20+%20'')

},

'Error': function(up, err, errTip) {

//上传出错时,处理相关的事情

printLog('on Error');

},

'UploadComplete': function() {

//队列文件处理完毕后,处理相关的事情

printLog('on UploadComplete');

// 隐藏进度条

editor.hideUploadProgress();

}

// Key 函数如果有需要自行配置,无特殊需要请注释

//,

// 'Key': function(up, file) {

// // 若想在前端对每个文件的key进行个性化处理,可以配置该函数

// // 该配置必须要在 unique_names: false , save_key: false 时才生效

// var key = "";

// // do something with key here

// return key

// }

}

});

// domain 为七牛空间(bucket)对应的域名,选择某个空间后,可通过"空间设置->基本设置->域名设置"查看获取

// uploader 为一个plupload对象,继承了所有plupload的方法,参考http://plupload.com/docs

}

// 生成编辑器

var editor = new wangEditor('editor-trigger');

editor.config.customUpload = true; // 设置自定义上传的开关

editor.config.customUploadInit = uploadInit; // 配置自定义上传初始化事件,uploadInit方法在上面定义了

editor.create();

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值