一、上傳圖片到七牛雲
1.安裝圖片上傳以及圖片批量上傳插件
import "tinymce/plugins/image";
import "tinymce/plugins/axupimgs";
2.在toolbar和plugins中使用這兩個插件,使用自定義圖片上傳方法
plugins:"image axupimgs",
toolbar:"image axupimgs"
3.在data中存入七牛雲所需的數據
data:function{
return {
QiniuData: {
key: "",
token: ""
},
domain: "http://upload.qiniup.com",
qiniuaddr: "http://img.example.com"
}
}
4.獲取token,自定義圖片上傳方法
getQiniuToken() {
this.$http({
url: this.$http.adornUrl("/lesson/file/qiniu-token"),
method: "get"
})
.then(res => {
this.QiniuData.token = res.data.token;
})
.catch(error => {});
},
imgUpload(blobInfo, success, failure) {
const axiosInstance = axios.create({ withCredentials: false });
let data = new FormData();
data.append("token", this.QiniuData.token);
data.append("file", blobInfo.blob());
axiosInstance({
method: "POST",
url: this.domain,
data: data,
timeout: 30000,
onUploadProgress: progressEvent => {
let imgLoadPercent = Math.round(
(progressEvent.loaded * 100) / progressEvent.total
);
}
})
.then(data => {
success(`${this.qiniuaddr}/${data.data.key}`);
})
.catch(function(err) {
});
}
5.調用方法
mounted:function(){
this.getQiniuToken();
},
data(){
init:{
images_upload_handler: (blobInfo, success, failure) => {
this.imgUpload(blobInfo, success, failure);
}
}
}
二、圖片批量上傳
1.此插件基於image插件,仍舊調用之前的圖片上傳方法
2.建議將此插件放入static或其他目錄,修改plugin.js文件中的文件路徑
var baseURL=tinymce.baseURL;
var iframe1 = baseURL + '/static/plugins/axupimgs/upfiles.html';