Ich hatte auch damit zu kämpfen. Die aktuelle Dokumentation für dieses grundlegende Feature ist wirklich schlecht. Wie auch immer, das ist, wie ich es tun:
$scope.imageUpload = function(files) {
uploadEditorImage(files);
};
function uploadEditorImage(files) {
if (files != null) {
// Begin uploading the image.
// Here I'm using the ngFileUpload module (named 'Upload') to upload files, but you can use $.ajax if you want
// Remember to include the dependency in your Controller!
Upload.upload({
url: 'api/resources/upload-file',
file: files[0]
}).success(function(data, status, headers, config) {
// The image has been uploaded to your server.
// Now we need to insert the image back into the text editor.
var editor = $.summernote.eventHandler.getModule(),
uploaded_file_name = data.file_name, // this is the filename as stored on your server.
file_location = '/uploads/'+uploaded_file_name;
editor.insertImage($scope.editable, file_location, uplaoded_file_name);
});
}
};
Der wichtige Teil, um das Bild zu bekommen im Editor angezeigt zurück, dieses Bit hier:
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()
alle ruft die API methods heimisch Sommernote. In diesem Fall müssen Sie die Methode insertImage()
verwenden, um das hochgeladene Bild wieder in den Editor einzufügen.
Wenn jemand sauberere Lösungen hat dann bitte weitermachen!
Aber ich glaube nicht, dass die Winkel Wege ist. @ M-Sha – Kiddo