我也曾经遇到过这个问题。当前的文档描述很不清晰,缺乏详细说明。不过,我是这样做的:
$scope.imageUpload = function(files) {
uploadEditorImage(files);
};
function uploadEditorImage(files) {
if (files != null) {
Upload.upload({
url: 'api/resources/upload-file',
file: files[0]
}).success(function(data, status, headers, config) {
var editor = $.summernote.eventHandler.getModule(),
uploaded_file_name = data.file_name,
file_location = '/uploads/'+uploaded_file_name;
editor.insertImage($scope.editable, file_location, uplaoded_file_name);
});
}
};
重要的部分是让图片在编辑器中显示,关键代码如下:
var editor = $.summernote.eventHandler.getModule(),
uploaded_file_name = data.file_name,
file_location = '/path-where-you-upload-your-image/'+uploaded_file_name
editor.insertImage($scope.editable, file_location, uploaded_file_name)
$.summernote.eventHandler.getModule()
可以检索出与 Summernote 相关的所有 API 方法。在这种情况下,需要使用 insertImage()
方法将上传的图像插入回编辑器中。
如果有更简单的解决方案,请提出!